diff options
Diffstat (limited to 'test/functest/run_tests.py')
-rw-r--r-- | test/functest/run_tests.py | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/test/functest/run_tests.py b/test/functest/run_tests.py index 91f0f0a..c913912 100644 --- a/test/functest/run_tests.py +++ b/test/functest/run_tests.py @@ -44,6 +44,9 @@ def main(): config_yaml = yaml.safe_load(f) testcases = config_yaml.get("testcases") + overall_details = {} + overall_status = "PASS" + overall_start_time = time.time() for testcase in testcases: if testcases[testcase]['enabled']: test_name = testcase @@ -56,17 +59,32 @@ def main(): t = importlib.import_module(testcase, package=None) start_time = time.time() result = t.main() - if result < 0: - result = {"status": "FAILED", "details": "execution error."} - logger.info("Results of test case '%s - %s':\n%s\n" % - (test_name, test_descr, result)) end_time = time.time() - # duration = end_time - start_time - criteria = result.get("status") - details = result.get("details") + duration = end_time - start_time + if result < 0: + status = "FAIL" + overall_status = "FAIL" + overall_details.update({test_name_db: "execution error."}) + else: + status = result.get("status") + details = result.get("details") + logger.info("Results of test case '%s - %s':\n%s\n" % + (test_name, test_descr, result)) + + if status == "FAIL": + overall_status = "FAIL" + + dic = {"duration": duration, "status": status} + overall_details.update({test_name_db: dic}) if args.report: push_results( - test_name_db, start_time, end_time, criteria, details) + test_name_db, start_time, end_time, status, details) + + overall_end_time = time.time() + if args.report: + push_results( + "bgpvpn", overall_start_time, overall_end_time, + overall_status, overall_details) exit(0) |