]> code.ossystems Code Review - openembedded-core.git/commitdiff
oeqa/logparser: Further simplification/clarification
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 29 Jan 2019 13:00:41 +0000 (13:00 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 31 Jan 2019 09:45:25 +0000 (09:45 +0000)
Rename the paster to be ptest specific and apply some further cleanups
to the code to simplify and clarify what its doing.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/runtime/cases/ptest.py
meta/lib/oeqa/utils/logparser.py

index ebef3f9eac3d91855b1d6a0cfd4ad38ed7742140..1ce22a09e7d64bd16f920bff125f7adafb97061f 100644 (file)
@@ -6,13 +6,13 @@ from oeqa.core.decorator.depends import OETestDepends
 from oeqa.core.decorator.oeid import OETestID
 from oeqa.core.decorator.data import skipIfNotFeature
 from oeqa.runtime.decorator.package import OEHasPackage
-from oeqa.utils.logparser import Lparser, Result
+from oeqa.utils.logparser import PtestParser, Result
 
 class PtestRunnerTest(OERuntimeTestCase):
 
     # a ptest log parser
     def parse_ptest(self, logfile):
-        parser = Lparser()
+        parser = PtestParser()
         result = Result()
 
         with open(logfile, errors='replace') as f:
@@ -20,7 +20,7 @@ class PtestRunnerTest(OERuntimeTestCase):
                 result_tuple = parser.parse_line(line)
                 if not result_tuple:
                     continue
-                result_tuple = line_type, category, status, name = parser.parse_line(line)
+                line_type, category, status, name = result_tuple
 
                 if line_type == 'section' and status == 'begin':
                     current_section = name
index 328baeefaf6e123bb6913b84fd1c3cf02bc29b27..0807093fda684b91f1a9458eb90a9229ea517375 100644 (file)
@@ -6,35 +6,31 @@ import re
 from . import ftools
 
 # A parser that can be used to identify weather a line is a test result or a section statement.
-class Lparser(object):
+class PtestParser(object):
 
-    def __init__(self, **kwargs):
+    def __init__(self):
 
         self.test_regex = {}
-        self.test_regex[0] = {}
-        self.test_regex[0]['pass'] = re.compile(r"^PASS:(.+)")
-        self.test_regex[0]['fail'] = re.compile(r"^FAIL:(.+)")
-        self.test_regex[0]['skip'] = re.compile(r"^SKIP:(.+)")
+        self.test_regex['pass'] = re.compile(r"^PASS:(.+)")
+        self.test_regex['fail'] = re.compile(r"^FAIL:(.+)")
+        self.test_regex['skip'] = re.compile(r"^SKIP:(.+)")
 
         self.section_regex = {}
-        self.section_regex[0] = {}
-        self.section_regex[0]['begin'] = re.compile(r"^BEGIN: .*/(.+)/ptest")
-        self.section_regex[0]['end'] = re.compile(r"^END: .*/(.+)/ptest")
+        self.section_regex['begin'] = re.compile(r"^BEGIN: .*/(.+)/ptest")
+        self.section_regex['end'] = re.compile(r"^END: .*/(.+)/ptest")
 
     # Parse a line and return a tuple containing the type of result (test/section) and its category, status and name
     def parse_line(self, line):
 
-        for test_category, test_status_list in self.test_regex.items():
-            for test_status, status_regex in test_status_list.items():
-                test_name = status_regex.search(line)
-                if test_name:
-                    return ['test', test_category, test_status, test_name.group(1)]
-
-        for section_category, section_status_list in self.section_regex.items():
-            for section_status, status_regex in section_status_list.items():
-                section_name = status_regex.search(line)
-                if section_name:
-                    return ['section', section_category, section_status, section_name.group(1)]
+        for test_status, status_regex in test_status_list.items():
+            test_name = status_regex.search(line)
+            if test_name:
+                return ['test', test_category, test_status, test_name.group(1)]
+
+        for section_status, status_regex in section_status_list.items():
+            section_name = status_regex.search(line)
+            if section_name:
+                return ['section', section_category, section_status, section_name.group(1)]
         return None