Report overall status of the test results to DB 31/17231/2
authorjose.lausuch <jose.lausuch@ericsson.com>
Wed, 20 Jul 2016 14:22:11 +0000 (16:22 +0200)
committerjose.lausuch <jose.lausuch@ericsson.com>
Wed, 20 Jul 2016 14:48:50 +0000 (16:48 +0200)
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>
test/functest/run_tests.py
test/functest/testcase_1.py
test/functest/testcase_2.py
test/functest/testcase_3.py

index 91f0f0a..c913912 100644 (file)
@@ -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)
 
index 250db20..1d245fa 100644 (file)
@@ -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
index c28e535..10df605 100644 (file)
@@ -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
index 1e586b1..5a8e9b0 100644 (file)
@@ -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