From 4e67d0730ffe1dc0729cad82669ff8abcdbccef3 Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Fri, 15 Nov 2024 23:47:53 +0100 Subject: [PATCH] support/testing: new ltp-testsuite runtime test Signed-off-by: Julien Olivain Reviewed-by: Vincent Jardin Signed-off-by: Arnout Vandecappelle --- DEVELOPERS | 1 + .../tests/package/test_ltp_testsuite.py | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 support/testing/tests/package/test_ltp_testsuite.py diff --git a/DEVELOPERS b/DEVELOPERS index 31815b1272..045d5dc2a1 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1915,6 +1915,7 @@ F: support/testing/tests/package/test_links.py F: support/testing/tests/package/test_links/ F: support/testing/tests/package/test_lrzip.py F: support/testing/tests/package/test_lrzsz.py +F: support/testing/tests/package/test_ltp_testsuite.py F: support/testing/tests/package/test_ltrace.py F: support/testing/tests/package/test_lvm2.py F: support/testing/tests/package/test_lzip.py diff --git a/support/testing/tests/package/test_ltp_testsuite.py b/support/testing/tests/package/test_ltp_testsuite.py new file mode 100644 index 0000000000..a85ceb35a6 --- /dev/null +++ b/support/testing/tests/package/test_ltp_testsuite.py @@ -0,0 +1,39 @@ +import os + +import infra.basetest + + +class TestLtpTestsuite(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_LTP_TESTSUITE=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_4=y + BR2_TARGET_ROOTFS_EXT2_SIZE="600M" + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + drive = os.path.join(self.builddir, "images", "rootfs.ext4") + self.emulator.boot(arch="armv5", + kernel="builtin", + kernel_cmdline=["rootwait", "root=/dev/sda"], + options=["-drive", f"file={drive},if=scsi,format=raw"]) + self.emulator.login() + + # We run a reduced number of tests (read syscall tests) for a + # fast execution. See "runltp --help" for option details. + cmd = "/usr/lib/ltp-testsuite/runltp" + cmd += " -p -q" + cmd += " -s ^read0[0-9]*" + cmd += " -l /tmp/ltp.log" + cmd += " -o /tmp/ltp.output" + cmd += " -C /tmp/ltp.failed" + cmd += " -T /tmp/ltp.tconf" + self.assertRunOk(cmd) + + # We print the LTP run log and check there was zero failure in + # our test selection. + out, ret = self.emulator.run("cat /tmp/ltp.log") + self.assertEqual(ret, 0) + self.assertIn("Total Failures: 0", out)