summaryrefslogtreecommitdiffstats
path: root/test/functest/run_tests.py
diff options
context:
space:
mode:
authorjose.lausuch <jose.lausuch@ericsson.com>2016-07-20 16:22:11 +0200
committerjose.lausuch <jose.lausuch@ericsson.com>2016-07-20 16:48:50 +0200
commit092471c4dc987d4e2e4be88cc66d4c4825d7c306 (patch)
treea9ab922c8874723ab836f59ac5deced6197080c8 /test/functest/run_tests.py
parentfdc60ac1b74b6b49c4ce3c9ad457dd3bbed260eb (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.py34
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)