2
1

test_ltrace.py 971 B

1234567891011121314151617181920212223242526272829303132
  1. import os
  2. import infra.basetest
  3. class TestLtrace(infra.basetest.BRTest):
  4. config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
  5. """
  6. BR2_PACKAGE_LTRACE=y
  7. BR2_TARGET_ROOTFS_CPIO=y
  8. # BR2_TARGET_ROOTFS_TAR is not set
  9. """
  10. def test_run(self):
  11. cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
  12. self.emulator.boot(arch="armv5",
  13. kernel="builtin",
  14. options=["-initrd", cpio_file])
  15. self.emulator.login()
  16. # Check the program can execute
  17. self.assertRunOk("ltrace --version")
  18. # Run ltrace on a ls
  19. cmd = "ltrace -a 0 -o ltrace.log ls /"
  20. self.assertRunOk(cmd)
  21. # Check the ltrace log contains occurrences of libc malloc()
  22. cmd = "grep -Ec 'malloc\\([0-9]+\\)' ltrace.log"
  23. out, ret = self.emulator.run(cmd)
  24. self.assertEqual(ret, 0)
  25. self.assertGreater(int(out[0]), 0)