aboutsummaryrefslogtreecommitdiffstats
path: root/tests/LTP/syscalls/run_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/LTP/syscalls/run_tests.py')
-rw-r--r--tests/LTP/syscalls/run_tests.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/LTP/syscalls/run_tests.py b/tests/LTP/syscalls/run_tests.py
new file mode 100644
index 0000000..37bd365
--- /dev/null
+++ b/tests/LTP/syscalls/run_tests.py
@@ -0,0 +1,58 @@
+import os
+import pytest
+import pathlib
+import platform
+import subprocess
+
+from tests.LTP.agl_test_ltp_base import LTPBase
+
+class SyscallsBase(LTPBase):
+ def __init__(self):
+ super().__init__(test_name="syscalls")
+
+ # a function that checks for .config related issues
+ def set_test_env(self):
+ # skip file generated and overwrited with essential skip list
+ init_skipfile_cmd = "cat syscalls.skip.essential > " + self.get_skip_file_path()
+ # work dir in /resource/
+ cwd_buf = self.get_workdir()
+ subprocess.run(init_skipfile_cmd, shell=True,
+ cwd=cwd_buf, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
+ # check into /proc/config.gz
+ pathObj_gz = pathlib.Path("/proc/config.gz")
+ # check into /lib.modules/ for .config
+ release_info = platform.release()
+ config_file_path = "/lib/modules/" + release_info + "/build/.config"
+ pathObj_config = pathlib.Path(config_file_path)
+ if not pathObj_gz.is_file() and not pathObj_config.is_file():
+ # set ENV "KCONFIG_SKIP_CHECK" to skip .config check
+ os.environ['KCONFIG_SKIP_CHECK'] = "True"
+ # add skip append to original skip file
+ append_cmd = "cat syscalls.skip.append >> " + self.get_skip_file_path()
+ subprocess.run(append_cmd, shell=True,
+ cwd=cwd_buf, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
+ # check into group "ltp_add_key05_1" existence, ltp bug in 20210121
+ with open("/etc/group", 'r') as f:
+ text = f.read()
+ if "ltp_add_key05_1" in text:
+ rm_gourp_cmd = "groupdel ltp_add_key05_1"
+ subprocess.run(rm_gourp_cmd, shell=True,
+ cwd=cwd_buf, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
+
+instance = SyscallsBase()
+case_list = instance.get_test_case_list()
+
+@pytest.fixture(scope='module')
+def testbase():
+ instance.set_test_env()
+ yield instance
+ #package log files and make report file
+ instance.log_report()
+
+@pytest.mark.parametrize('case_name', case_list)
+def test_ltp_syscalls(testbase: SyscallsBase, case_name):
+ testbase.run_ltp_test(case_name)
+ testbase.run_case(case_name)
+
+if __name__ == '__main__':
+ pytest.main("-s run_tests")