aboutsummaryrefslogtreecommitdiffstats
path: root/tests/busybox/run_tests.py
diff options
context:
space:
mode:
authorduerpei <duep.fnst@fujitsu.com>2022-10-22 17:17:15 +0800
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2023-01-20 16:03:16 +0000
commit95ea8f3633f58cd5433e36c10074df5fe19a125a (patch)
tree0af6c51b4acb3b510248d117b76a62ab48b15f8a /tests/busybox/run_tests.py
parent2f9db91f9e63e7b746770b17c2c9204ff663a7de (diff)
agl-test-framework: enable ptest of 'busybox'
Enable the test suite of 'busybox' from ptest Bug-AGL: SPEC-4345 Signed-off-by: duerpei <duep.fnst@fujitsu.com> Change-Id: I960f013d47f893f65766628da443ad6dce6f1009
Diffstat (limited to 'tests/busybox/run_tests.py')
-rw-r--r--tests/busybox/run_tests.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/busybox/run_tests.py b/tests/busybox/run_tests.py
new file mode 100644
index 0000000..c6f3b8d
--- /dev/null
+++ b/tests/busybox/run_tests.py
@@ -0,0 +1,45 @@
+import pytest
+import pathlib
+import subprocess
+import tests.busybox.parser as parser
+from plugins.agl_test_ptest_base import PTESTBase
+
+class BusyboxBase(PTESTBase):
+ def __init__(self):
+ super().__init__(test_name="busybox")
+
+ def log_process(self):
+ log_file = self.get_logfile()
+ self.case_info_list = parser.log_parse(log_file)
+
+ def precheck(self):
+ path_bash = pathlib.Path("/usr/bin/busybox")
+ return super().precheck() and path_bash.is_file()
+
+ def do_patch(self, patch_file, do_patch_dir):
+ patch_cmd = "patch -p1 < " + patch_file
+ subprocess.run(patch_cmd, shell = True, cwd = do_patch_dir)
+
+ def un_patch(self, patch_file, do_patch_dir):
+ patch_cmd = "patch -R -p1 < " + patch_file
+ subprocess.run(patch_cmd, shell = True, cwd = do_patch_dir)
+
+instance = BusyboxBase()
+patch_file = instance.get_workdir() + "fix_duplicate_case_names.patch"
+do_patch_dir = "/usr/lib/busybox/ptest/"
+instance.do_patch(patch_file, do_patch_dir)
+instance.run_ptest()
+instance.un_patch(patch_file, do_patch_dir)
+
+@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_busybox(testbase: BusyboxBase, case_name):
+ testbase.run_case(case_name)
+
+if __name__ == '__main__':
+ pytest.main("-s run_tests")