Functest fail to parse refstack results 49/57049/1
authorxudan <xudan16@huawei.com>
Fri, 4 May 2018 08:40:06 +0000 (04:40 -0400)
committerxudan <xudan16@huawei.com>
Fri, 4 May 2018 08:56:28 +0000 (04:56 -0400)
1. The regular expression can't work well for refstack results
2. Refer to http://testresults.opnfv.org/test/api/v1/results?project=functest&case_name=refstack_defcore&last=1
3. There are 88 success test cases but the list of success is empty
4. Refstack test case name is not always begin with {0}, it maybe any number
5. The test case whose name has the keyword 'fail' will also be list in 'failures'

Change-Id: I5187aaaabdca762256be9162cc85ba42263169bc
Signed-off-by: xudan <xudan16@huawei.com>
functest/opnfv_tests/openstack/tempest/tempest.py

index 13391ca..d02c114 100644 (file)
@@ -217,13 +217,16 @@ class TempestCommon(testcase.TestCase):
                 output = logfile.read()
 
             success_testcases = []
-            for match in re.findall(r'.*\{0\} (.*?)[. ]*success ', output):
+            for match in re.findall(r'.*\{\d{1,2}\} (.*?) \.{3} success ',
+                                    output):
                 success_testcases.append(match)
             failed_testcases = []
-            for match in re.findall(r'.*\{0\} (.*?)[. ]*fail', output):
+            for match in re.findall(r'.*\{\d{1,2}\} (.*?) \.{3} fail',
+                                    output):
                 failed_testcases.append(match)
             skipped_testcases = []
-            for match in re.findall(r'.*\{0\} (.*?)[. ]*skip:', output):
+            for match in re.findall(r'.*\{\d{1,2}\} (.*?) \.{3} skip:',
+                                    output):
                 skipped_testcases.append(match)
 
             self.details = {"tests_number": stat['num_tests'],