From 092471c4dc987d4e2e4be88cc66d4c4825d7c306 Mon Sep 17 00:00:00 2001 From: "jose.lausuch" Date: Wed, 20 Jul 2016 16:22:11 +0200 Subject: 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 --- test/functest/run_tests.py | 34 ++++++++++++++++++++++++++-------- test/functest/testcase_1.py | 2 +- test/functest/testcase_2.py | 2 +- test/functest/testcase_3.py | 5 ----- 4 files changed, 28 insertions(+), 15 deletions(-) (limited to 'test/functest') 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) diff --git a/test/functest/testcase_1.py b/test/functest/testcase_1.py index 250db20..1d245fa 100644 --- a/test/functest/testcase_1.py +++ b/test/functest/testcase_1.py @@ -235,8 +235,8 @@ def add_to_summary(num_cols, col1, col2=""): elif num_cols == 2: SUMMARY += ("| %s" % col1.ljust(7) + "| ") SUMMARY += (col2.ljust(LINE_LENGTH - 12) + "|\n") - DETAILS.append({col2: col1}) if col1 in ("FAIL", "PASS"): + DETAILS.append({col2: col1}) NUM_TESTS += 1 if col1 == "FAIL": NUM_TESTS_FAILED += 1 diff --git a/test/functest/testcase_2.py b/test/functest/testcase_2.py index c28e535..10df605 100644 --- a/test/functest/testcase_2.py +++ b/test/functest/testcase_2.py @@ -276,8 +276,8 @@ def add_to_summary(num_cols, col1, col2=""): elif num_cols == 2: SUMMARY += ("| %s" % col1.ljust(7) + "| ") SUMMARY += (col2.ljust(LINE_LENGTH - 12) + "|\n") - DETAILS.append({col2: col1}) if col1 in ("FAIL", "PASS"): + DETAILS.append({col2: col1}) NUM_TESTS += 1 if col1 == "FAIL": NUM_TESTS_FAILED += 1 diff --git a/test/functest/testcase_3.py b/test/functest/testcase_3.py index 1e586b1..5a8e9b0 100644 --- a/test/functest/testcase_3.py +++ b/test/functest/testcase_3.py @@ -9,11 +9,6 @@ # -import functest.utils.functest_logger as ft_logger -import functest.utils.functest_utils as functest_utils -import functest.utils.openstack_utils as os_utils - - def main(): pass -- cgit 1.2.3-korg