aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQiu Tingting <qiutt@fujitsu.com>2023-04-11 12:53:26 +0800
committerQiu Tingting <qiutt@fujitsu.com>2023-04-11 12:53:26 +0800
commit6f00428375f6d129fddbfbe7cf3d581127a1192c (patch)
tree1ed0ca3a05209bd2c4e672caab47f337fe8f0a4a
parentfbae7ac31fd2a895f74c4c57508662eec15f40c1 (diff)
agl-test-framework: add ptest acl
Add ptest acl in agl-test-framework. Testing costs 1m46s. Bug-AGL: SPEC-4753 Signed-off-by: Qiu Tingting <qiutt@fujitsu.com> Change-Id: Id43d68b85f560625407971f01322a45aef9a53cf
-rw-r--r--plugins/agl_test_log.py2
-rw-r--r--plugins/agl_test_ptest_base.py6
-rw-r--r--tests/acl/__init__.py0
-rw-r--r--tests/acl/run_tests.py38
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")