use configured success_rate to check tempest test status
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Tue, 2 Aug 2016 05:48:51 +0000 (13:48 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Tue, 2 Aug 2016 06:53:00 +0000 (14:53 +0800)
when checking tempest test results using success_rate
configured in testcases.yaml rather than written it in the code

JIRA: FUNCTEST-400

Change-Id: I2a34e3e032a0d94c6a4605fcf09a66c8f8f9b78c
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
testcases/OpenStack/tempest/run_tempest.py

index 3ee10b7..ca9e928 100755 (executable)
@@ -427,34 +427,20 @@ def run_tempest(OPTION):
     dur_sec_int = dur_sec_int + 60 * dur_min
     stop_time = time.time()
 
-    status = "FAIL"
     try:
         diff = (int(num_tests) - int(num_failures))
         success_rate = 100 * diff / int(num_tests)
     except:
         success_rate = 0
 
-    # For Tempest we assume that the success rate is above 90%
-    if "smoke" in args.mode:
-        case_name = "tempest_smoke_serial"
-        # Note criteria hardcoded...TODO read it from testcases.yaml
-        success_criteria = 100
-        if success_rate >= success_criteria:
-            status = "PASS"
-        else:
-            logger.info("Tempest success rate: %s%%. The success criteria to "
-                        "pass this test is %s%%. Marking the test as FAILED." %
-                        (success_rate, success_criteria))
+    if 'smoke' in args.mode:
+        case_name = 'tempest_smoke_serial'
     else:
-        case_name = "tempest_full_parallel"
-        # Note criteria hardcoded...TODO read it from testcases.yaml
-        success_criteria = 80
-        if success_rate >= success_criteria:
-            status = "PASS"
-        else:
-            logger.info("Tempest success rate: %s%%. The success criteria to "
-                        "pass this test is %s%%. Marking the test as FAILED." %
-                        (success_rate, success_criteria))
+        case_name = 'tempest_full_parallel'
+
+    status = ft_utils.check_success_rate(case_name, success_rate)
+    logger.info("Tempest %s success_rate is %s%%, is marked as %s"
+                % (case_name, success_rate, status))
 
     # Push results in payload of testcase
     if args.report: