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
def __set_current_bunch(self, bunch): set_current_bunch_dir(bunch.deployed_at()) self.__current_bunch = bunch
def __set_current_bunch(self, bunch): set_current_bunch_dir(bunch.deployed_at()) self.__current_bunch = bunch