diff options
-rw-r--r-- | plugins/agl_test_log.py | 2 | ||||
-rw-r--r-- | plugins/agl_test_ptest_base.py | 6 | ||||
-rw-r--r-- | tests/acl/__init__.py | 0 | ||||
-rw-r--r-- | tests/acl/run_tests.py | 38 |
4 files changed, 44 insertions, 2 deletions
diff --git a/plugins/agl_test_log.py b/plugins/agl_test_log.py index b4a273e..958a9a8 100644 --- a/plugins/agl_test_log.py +++ b/plugins/agl_test_log.py @@ -54,7 +54,7 @@ gnome_desktop_testing log formate: SKIP: glib/testname.test ''' def log_process_gnome_desktop_testing(log): - pattern = '^(FAIL|PASS|SKIP+?): (.+test?)' + pattern = '^(FAIL|PASS|SKIP|XFAIL|XPASS|ERROR+?): (.+test?)' parse_result = log_parse(log, pattern) case_list = dict() if parse_result: diff --git a/plugins/agl_test_ptest_base.py b/plugins/agl_test_ptest_base.py index 16d4938..d0fbb23 100644 --- a/plugins/agl_test_ptest_base.py +++ b/plugins/agl_test_ptest_base.py @@ -26,11 +26,15 @@ class PTESTBase(AGLBaseTest): case_info[2] = "failed" elif (case_info[1] == "SKIP"): case_info[2] = "skipped" + elif (case_info[1] == "XPASS"): + case_info[2] = "xpassed" + elif (case_info[1] == "XFAIL"): + case_info[2] = "xfailed" else: case_info[2] = "failed" self.update_caseinfo_by_name(case_id, case_info) - assert case_info[2] == "passed" or case_info[2] == "skipped" or case_info[2] == "xpassed" + assert case_info[2] != "failed" def precheck(self): # check for common diff --git a/tests/acl/__init__.py b/tests/acl/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/acl/__init__.py diff --git a/tests/acl/run_tests.py b/tests/acl/run_tests.py new file mode 100644 index 0000000..f4f7ef1 --- /dev/null +++ b/tests/acl/run_tests.py @@ -0,0 +1,38 @@ +import pytest +import pathlib +import plugins.agl_test_log as log +from plugins.agl_test_ptest_base import PTESTBase + +def rm_logs(log_path: pathlib.Path): + for f in log_path.iterdir(): + if f.is_file(): + if (f.suffix == ".log" or f.suffix == ".trs"): + f.unlink() + else: + rm_logs(f) + +class AclBase(PTESTBase): + def __init__(self): + super().__init__(test_name="acl") + # rm *.log *.trs from /usr/lib/acl/ptest/test/ + rm_logs(pathlib.Path("/usr/lib/acl/ptest/test/")) + + def log_process(self): + log_file = self.get_logfile() + self.case_info_list = log.log_process_gnome_desktop_testing(log_file) + +instance = AclBase() +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_acl(testbase: AclBase, case_name): + testbase.run_case(case_name) + +if __name__ == '__main__': + pytest.main("-s run_tests") |