diff options
author | yanxk <yanxk.fnst@fujitsu.com> | 2022-08-14 17:25:42 +0800 |
---|---|---|
committer | Xinkuan Yan <yanxk.fnst@fujitsu.com> | 2022-11-11 09:37:28 +0000 |
commit | f9f4b0ef5dfd10bf8a936b3eecc2407fe94fc305 (patch) | |
tree | 5d0b9d4498515bbc9a4426c67185bc57d7e8e84a /tests | |
parent | 2612ee28807b08c16f7c1502ff88e713c3897e9c (diff) |
agl-test-framework: enable ptest of 'bc'
we have already submitted patches that enabled ptest of 'bc'
to the OpenEmbedded community and the patches got merged.
but it is not yet in the YP 4.0.5, so it would skip now.
it can be seen in YP 4.1.
we now add it into the test framework, for it would be available
in the next YP release, maybe, or several versions later.
Signed-off-by: yanxk <yanxk.fnst@fujitsu.com>
Change-Id: Iffdef472c9449c9e3179c3b3bd1273fb2ec0e032
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bc/__init__.py | 1 | ||||
-rw-r--r-- | tests/bc/parser.py | 34 | ||||
-rw-r--r-- | tests/bc/run_tests.py | 30 |
3 files changed, 65 insertions, 0 deletions
diff --git a/tests/bc/__init__.py b/tests/bc/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/bc/__init__.py @@ -0,0 +1 @@ + diff --git a/tests/bc/parser.py b/tests/bc/parser.py new file mode 100644 index 0000000..8c3cd95 --- /dev/null +++ b/tests/bc/parser.py @@ -0,0 +1,34 @@ +# +# this is a parser function specially designed for the 'bc.log' +# +import re + +def log_parse(log_file): + # set up rule for regex + reObj = re.compile('^(PASS|FAIL+?):\\sbc/(.+)[.]b', re.MULTILINE) + + # init a dictionary, it stores the return result + case_list = dict() + + # open file + test_log = open(log_file, 'r') + + # start to read the new line + line = test_log.readline() + + while line: + # checking regex status in line + matchs = reObj.search(line) + + # if the line fits the regex rule + if matchs: + # spliting elements into a tuple + groups = matchs.groups() + case_list[groups[1]] = [groups[1], groups[0], ""] + + # jump out if-else, read next line + line = test_log.readline() + + test_log.close() + + return case_list diff --git a/tests/bc/run_tests.py b/tests/bc/run_tests.py new file mode 100644 index 0000000..6a0f86e --- /dev/null +++ b/tests/bc/run_tests.py @@ -0,0 +1,30 @@ +import pytest + +import tests.bc.parser as parser + +from plugins.agl_test_ptest_base import PTESTBase + +class BCBase(PTESTBase): + def __init__(self): + super().__init__(test_name="bc") + + def log_process(self): + log_file = self.get_logfile() + self.case_info_list = parser.log_parse(log_file) + self.init_case_status() + +instance = BCBase() +instance.run_ptest() + +@pytest.fixture(scope='module') +def testbase(): + yield instance + #package log files and make report file + instance.log_report() + +@pytest.mark.parametrize('case_name', instance.case_info_list.keys()) +def test_bc(testbase: BCBase, case_name): + testbase.run_case(case_name) + +if __name__ == '__main__': + pytest.main("-s run_tests") |