Esempio n. 1
0
File: core.py Progetto: altai/bunch
    def run(self):
        """
        Execute set of test bunches sequentially
        """
        no_bunch_failed = True
        for bunch in self.bunch_list:
            collector = BunchXmlCollector()
            none_failed = True
            set_current_bunch_dir(bunch.deployed_at())
            stories = bunch.get_stories()
            setup_deps, teardown_deps = self.__get_fixture_deps(stories)

            try:
                setup_seq = dependencies.combine_fixture_deps(setup_deps)
                teardown_seq = dependencies.combine_fixture_deps(teardown_deps)
            except CyclicDependencySpecification as cycle_error:
                self.__print_cyclic_dependencies_error(cycle_error, bunch.name())
                continue

            #Now perform all setup
            if self.__run_fixtures(setup_seq,
                self.__save_path_for_test(os.path.join(bunch.deploy_dir,"setup")),
                collector):
                #setup passed, execute tests
                none_failed = none_failed and self.__run_stories(stories, setup_seq, teardown_seq, collector)
            else:
                none_failed = False

            #Now execute teardown disregarding setup results and ignoring script failures
            self.__run_fixtures(teardown_seq,
                self.__save_path_for_test(os.path.join(bunch.deploy_dir,"teardown")),
                collector,
                False)
            no_bunch_failed = no_bunch_failed and none_failed
            collector.dump(self.__save_path_for_test(os.path.join(bunch.deploy_dir, bunch.name())))
            self.plugin.transform(collector.get_element_tree(), BunchDetails(name=bunch.name()))
        return no_bunch_failed
Esempio n. 2
0
 def __set_current_bunch(self, bunch):
     set_current_bunch_dir(bunch.deployed_at())
     self.__current_bunch = bunch
Esempio n. 3
0
 def __set_current_bunch(self, bunch):
     set_current_bunch_dir(bunch.deployed_at())
     self.__current_bunch = bunch