diff options
Diffstat (limited to 'tests/LTP/syscalls/run_tests.py')
-rw-r--r-- | tests/LTP/syscalls/run_tests.py | 58 |
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") |