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