diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-01-29 13:24:45 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-01-31 09:45:25 +0000 |
commit | 05991bb5bc8018275d03fdeecee3d5a757840c7c (patch) | |
tree | 9ca92cfac9a8b4a73d33c7d0d71e564583f748fe /meta/lib/oeqa/runtime/cases | |
parent | 45a5886f1ec458d4c306b8d68fd31d568bc36b47 (diff) | |
download | openembedded-core-contrib-05991bb5bc8018275d03fdeecee3d5a757840c7c.tar.gz |
oeqa/logparser: Reform the ptest results parser
Now we have a dedicated ptest parser, merge in the remaining ptest
specific pieces to further clarify and simplify the code, moving to
a point where we can consider extending/enhancing it.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/runtime/cases')
-rw-r--r-- | meta/lib/oeqa/runtime/cases/ptest.py | 40 |
1 files changed, 3 insertions, 37 deletions
diff --git a/meta/lib/oeqa/runtime/cases/ptest.py b/meta/lib/oeqa/runtime/cases/ptest.py index 1ce22a09e7..ae54a01669 100644 --- a/meta/lib/oeqa/runtime/cases/ptest.py +++ b/meta/lib/oeqa/runtime/cases/ptest.py @@ -1,50 +1,16 @@ import unittest import pprint +import re from oeqa.runtime.case import OERuntimeTestCase 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 PtestParser, Result +from oeqa.utils.logparser import PtestParser class PtestRunnerTest(OERuntimeTestCase): - # a ptest log parser - def parse_ptest(self, logfile): - parser = PtestParser() - result = Result() - - with open(logfile, errors='replace') as f: - for line in f: - result_tuple = parser.parse_line(line) - if not result_tuple: - continue - line_type, category, status, name = result_tuple - - if line_type == 'section' and status == 'begin': - current_section = name - continue - - if line_type == 'section' and status == 'end': - current_section = None - continue - - if line_type == 'test' and status == 'pass': - result.store(current_section, name, status) - continue - - if line_type == 'test' and status == 'fail': - result.store(current_section, name, status) - continue - - if line_type == 'test' and status == 'skip': - result.store(current_section, name, status) - continue - - result.sort_tests() - return result - @OETestID(1600) @skipIfNotFeature('ptest', 'Test requires ptest to be in DISTRO_FEATURES') @OETestDepends(['ssh.SSHTest.test_ssh']) @@ -83,7 +49,7 @@ class PtestRunnerTest(OERuntimeTestCase): extras['ptestresult.rawlogs'] = {'log': output} # Parse and save results - parse_result = self.parse_ptest(ptest_runner_log) + parse_result = PtestParser().parse(ptest_runner_log) parse_result.log_as_files(ptest_log_dir, test_status = ['pass','fail', 'skip']) if os.path.exists(ptest_log_dir_link): # Remove the old link to create a new one |