diff options
author | jose.lausuch <jose.lausuch@ericsson.com> | 2016-07-20 16:22:11 +0200 |
---|---|---|
committer | jose.lausuch <jose.lausuch@ericsson.com> | 2016-07-20 16:48:50 +0200 |
commit | 092471c4dc987d4e2e4be88cc66d4c4825d7c306 (patch) | |
tree | a9ab922c8874723ab836f59ac5deced6197080c8 /test/functest/run_tests.py | |
parent | fdc60ac1b74b6b49c4ce3c9ad457dd3bbed260eb (diff) |
Report overall status of the test results to DB
The reporting Dashboard looks for the test case called
'bgpvpn'. Now, we report the overall status of the tests
into that test case and also each one separatelly.
http://testresults.opnfv.org/test/api/v1/results?case=bgpvpn
Also, fix the 3 flake8 violations
Change-Id: I5b0d816894bf16d3d11085437f1556b5d0446d81
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
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) |