X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Fci%2Frun_tests.py;h=d4acd9c5616aa0c2ad81f9dfe9a15a38f5a303d5;hb=843fbe920471eff37f7acccb4f56bd603bfe22ba;hp=e26f43051d8eaf4cdfb4921c5681bdc6a914c852;hpb=c582427bd2586347fd21bcee3b28a2f7e75faf3d;p=functest.git diff --git a/functest/ci/run_tests.py b/functest/ci/run_tests.py index e26f43051..d4acd9c56 100644 --- a/functest/ci/run_tests.py +++ b/functest/ci/run_tests.py @@ -92,6 +92,8 @@ class Runner(object): CONST.__setattr__('OS_TENANT_NAME', value) elif key == 'OS_PASSWORD': CONST.__setattr__('OS_PASSWORD', value) + elif key == "OS_PROJECT_DOMAIN_NAME": + CONST.__setattr__('OS_PROJECT_DOMAIN_NAME', value) @staticmethod def get_run_dict(testname): @@ -122,16 +124,18 @@ class Runner(object): self.executed_test_cases[test.get_name()] = test_case if self.clean_flag: if test_case.create_snapshot() != test_case.EX_OK: - return result + return testcase.TestCase.EX_RUN_ERROR try: kwargs = run_dict['args'] - result = test_case.run(**kwargs) + test_case.run(**kwargs) except KeyError: - result = test_case.run() - if result == testcase.TestCase.EX_OK: - if self.report_flag: - test_case.push_to_db() + test_case.run() + if self.report_flag: + test_case.push_to_db() + if test.get_project() == "functest": result = test_case.is_successful() + else: + result = testcase.TestCase.EX_OK logger.info("Test result:\n\n%s\n", test_case) if self.clean_flag: test_case.clean() @@ -155,10 +159,12 @@ class Runner(object): else: logger.info("Running tier '%s'" % tier_name) for test in tests: - result = self.run_test(test) - if result != testcase.TestCase.EX_OK: + self.run_test(test) + test_case = self.executed_test_cases[test.get_name()] + if test_case.is_successful() != testcase.TestCase.EX_OK: logger.error("The test case '%s' failed.", test.get_name()) - self.overall_result = Result.EX_ERROR + if test.get_project() == "functest": + self.overall_result = Result.EX_ERROR if test.is_blocking(): raise BlockingTestFailed( "The test case {} failed and is blocking".format( @@ -186,12 +192,12 @@ class Runner(object): self.run_tier(tier) def main(self, **kwargs): - if kwargs['noclean']: - self.clean_flag = False - if kwargs['report']: - self.report_flag = True + if 'noclean' in kwargs: + self.clean_flag = not kwargs['noclean'] + if 'report' in kwargs: + self.report_flag = kwargs['report'] try: - if kwargs['test']: + if 'test' in kwargs: self.source_rc_file() logger.debug("Test args: %s", kwargs['test']) if self._tiers.get_tier(kwargs['test']): @@ -241,12 +247,18 @@ class Runner(object): tiers = [tier] if tier else self._tiers.get_tiers() for tier in tiers: for test in tier.get_tests(): - test_case = self.executed_test_cases[test.get_name()] - result = 'PASS' if(test_case.is_successful( - ) == test_case.EX_OK) else 'FAIL' - msg.add_row([test_case.case_name, test_case.project_name, - self._tiers.get_tier_name(test_case.case_name), - test_case.get_duration(), result]) + try: + test_case = self.executed_test_cases[test.get_name()] + except KeyError: + msg.add_row([test.get_name(), test.get_project(), + tier.get_name(), "00:00", "SKIP"]) + else: + result = 'PASS' if(test_case.is_successful( + ) == test_case.EX_OK) else 'FAIL' + msg.add_row( + [test_case.case_name, test_case.project_name, + self._tiers.get_tier_name(test_case.case_name), + test_case.get_duration(), result]) for test in tier.get_skipped_test(): msg.add_row([test.get_name(), test.get_project(), tier.get_name(), "00:00", "SKIP"]) @@ -256,6 +268,7 @@ class Runner(object): def main(): logging.config.fileConfig(pkg_resources.resource_filename( 'functest', 'ci/logging.ini')) + logging.captureWarnings(True) parser = RunTestsParser() args = parser.parse_args(sys.argv[1:]) runner = Runner()