logparser: Add LTP compliance section

(From OE-Core rev: 0e02eee4041828608bd64610538551646160fd5e)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Armin Kuster 2019-04-22 06:32:42 -06:00 committed by Richard Purdie
parent 12d8f77a88
commit 65b50feabe

View File

@ -111,3 +111,40 @@ class LtpParser(object):
self.section['log'] = self.section['log'] + ("%s: %s\n" % (result.strip()[:-2], test.strip()))
return self.results, self.section
# ltp Compliance log parsing
class LtpComplianceParser(object):
def __init__(self):
self.results = {}
self.section = {'duration': "", 'log': ""}
def parse(self, logfile):
test_regex = {}
test_regex['PASSED'] = re.compile(r"^PASS")
test_regex['FAILED'] = re.compile(r"^FAIL")
test_regex['SKIPPED'] = re.compile(r"(?:UNTESTED)|(?:UNSUPPORTED)")
section_regex = {}
section_regex['test'] = re.compile(r"^Testing")
with open(logfile, errors='replace') as f:
for line in f:
result = section_regex['test'].search(line)
if result:
self.name = ""
self.name = line.split()[1].strip()
self.results[self.name] = "PASSED"
failed = 0
failed_result = test_regex['FAILED'].search(line)
if failed_result:
failed = line.split()[1].strip()
if int(failed) > 0:
self.results[self.name] = "FAILED"
for test in self.results:
result = self.results[test]
self.section['log'] = self.section['log'] + ("%s: %s\n" % (result.strip()[:-2], test.strip()))
return self.results, self.section