test_bmap_tools.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import os
  2. import infra
  3. from infra.basetest import BRTest
  4. class TestBmapTools(BRTest):
  5. __test__ = False
  6. sample_script = "tests/package/sample_bmap_tools.sh"
  7. copy_script = 'tests/package/copy-sample-script-to-target.sh'
  8. config = \
  9. """
  10. BR2_arm=y
  11. BR2_cortex_a8=y
  12. BR2_TOOLCHAIN_EXTERNAL=y
  13. BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
  14. BR2_PACKAGE_BMAP_TOOLS=y
  15. BR2_ROOTFS_POST_BUILD_SCRIPT="{}"
  16. BR2_ROOTFS_POST_SCRIPT_ARGS="{}"
  17. BR2_TARGET_ROOTFS_EXT2=y
  18. BR2_TARGET_ROOTFS_EXT2_4=y
  19. BR2_TARGET_ROOTFS_EXT2_SIZE="65536"
  20. # BR2_TARGET_ROOTFS_TAR is not set
  21. BR2_PACKAGE_UTIL_LINUX=y
  22. BR2_PACKAGE_UTIL_LINUX_FALLOCATE=y
  23. BR2_PACKAGE_E2FSPROGS=y
  24. BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
  25. """.format(infra.filepath(copy_script),
  26. infra.filepath(sample_script))
  27. timeout = 60
  28. def login(self):
  29. img = os.path.join(self.builddir, "images", "rootfs.ext4")
  30. self.emulator.boot(arch="armv7",
  31. kernel="builtin",
  32. kernel_cmdline=["root=/dev/mmcblk0",
  33. "rootfstype=ext4"],
  34. options=["-drive", "file={},if=sd,format=raw".format(img)])
  35. self.emulator.login()
  36. def test_run(self):
  37. self.login()
  38. cmd = "/root/{}".format(os.path.basename(self.sample_script))
  39. _, exit_code = self.emulator.run(cmd, timeout=20)
  40. self.assertEqual(exit_code, 0)
  41. class TestPy2BmapTools(TestBmapTools):
  42. __test__ = True
  43. config = TestBmapTools.config + \
  44. """
  45. BR2_PACKAGE_PYTHON=y
  46. """
  47. class TestPy3BmapTools(TestBmapTools):
  48. __test__ = True
  49. config = TestBmapTools.config + \
  50. """
  51. BR2_PACKAGE_PYTHON3=y
  52. """