test_openocd.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import os
  2. import infra.basetest
  3. class TestOpenOCD(infra.basetest.BRTest):
  4. config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
  5. """
  6. BR2_PACKAGE_OPENOCD=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. # We check the program can run.
  17. self.assertRunOk("openocd --version")
  18. msg = "Buildroot"
  19. # We check openocd can run, load a "dummy" driver in the
  20. # standard search path, and use some of its TCL commands. See:
  21. # https://github.com/openocd-org/openocd/blob/v0.12.0/doc/manual/primer/commands.txt#L117
  22. # https://github.com/openocd-org/openocd/blob/v0.12.0/src/jtag/drivers/dummy.c
  23. cmd = "openocd"
  24. cmd += " -f interface/dummy.cfg"
  25. cmd += f" -c 'dummy hello {msg}'"
  26. cmd += " -c shutdown"
  27. out, ret = self.emulator.run(cmd)
  28. self.assertEqual(ret, 0)
  29. expected_str = f"Greetings {msg}!"
  30. self.assertIn(expected_str, out)