From d64b36ba1577d6c0169787a14101b2f43ddac206 Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Wed, 24 Jan 2024 23:22:36 +0100 Subject: [PATCH] support/testing: add ltrace runtime test Signed-off-by: Julien Olivain Signed-off-by: Peter Korsgaard --- DEVELOPERS | 1 + support/testing/tests/package/test_ltrace.py | 32 ++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 support/testing/tests/package/test_ltrace.py diff --git a/DEVELOPERS b/DEVELOPERS index 187c8eeca7..a8e1ac9a27 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1790,6 +1790,7 @@ F: support/testing/tests/package/test_less.py F: support/testing/tests/package/test_libgpgme.py F: support/testing/tests/package/test_libjxl.py F: support/testing/tests/package/test_lrzip.py +F: support/testing/tests/package/test_ltrace.py F: support/testing/tests/package/test_lzip.py F: support/testing/tests/package/test_lsof.py F: support/testing/tests/package/test_lz4.py diff --git a/support/testing/tests/package/test_ltrace.py b/support/testing/tests/package/test_ltrace.py new file mode 100644 index 0000000000..9ef64ba5dd --- /dev/null +++ b/support/testing/tests/package/test_ltrace.py @@ -0,0 +1,32 @@ +import os + +import infra.basetest + + +class TestLtrace(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_LTRACE=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv5", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + + # Check the program can execute + self.assertRunOk("ltrace --version") + + # Run ltrace on a ls + cmd = "ltrace -a 0 -o ltrace.log ls /" + self.assertRunOk(cmd) + + # Check the ltrace log contains occurrences of libc malloc() + cmd = "grep -Ec 'malloc\\([0-9]+\\)' ltrace.log" + out, ret = self.emulator.run(cmd) + self.assertEqual(ret, 0) + self.assertGreater(int(out[0]), 0)