diff options
author | Armin Kuster <akuster808@gmail.com> | 2019-04-22 06:32:39 -0600 |
---|---|---|
committer | Armin Kuster <akuster808@gmail.com> | 2019-06-14 07:05:34 -0700 |
commit | 8c0a03c24248bf69e9c8c0f2d949ff79efc9c71e (patch) | |
tree | bc83e7fb8db86fb4cd746ac2292770cacf732fb7 /meta | |
parent | 1ffea0c0fb3688f3cee0a5fa741e969581d01bd3 (diff) | |
download | openembedded-core-contrib-8c0a03c24248bf69e9c8c0f2d949ff79efc9c71e.tar.gz |
logparser: Add decoding ltp logs
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/lib/oeqa/utils/logparser.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/meta/lib/oeqa/utils/logparser.py b/meta/lib/oeqa/utils/logparser.py index 18285fb5448..abff8c78ae1 100644 --- a/meta/lib/oeqa/utils/logparser.py +++ b/meta/lib/oeqa/utils/logparser.py @@ -89,3 +89,28 @@ class PtestParser(object): status = self.results[section][test_name] f.write(status + ": " + test_name + "\n") + +# ltp log parsing +class LtpParser(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"SKIP") + + with open(logfile, errors='replace') as f: + for line in f: + for t in test_regex: + result = test_regex[t].search(line) + if result: + self.results[line.split()[0].strip()] = t + + 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 |