diff --git a/support/testing/tests/package/test_mender.py b/support/testing/tests/package/test_mender.py new file mode 100644 index 0000000000..fdf55ed616 --- /dev/null +++ b/support/testing/tests/package/test_mender.py @@ -0,0 +1,32 @@ +import os + +import infra.basetest + + +class TestMender(infra.basetest.BRTest): + config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ + """ + BR2_PACKAGE_MENDER=y + BR2_TARGET_ROOTFS_CPIO=y + BR2_ROOTFS_OVERLAY="{}" + """.format( + # overlay to add a fake 'fw_printenv', used by Mender + infra.filepath("tests/package/test_mender/rootfs-overlay")) + + 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 if the Daemon is running + self.assertRunOk("ls /var/run/mender.pid") + self.assertRunOk("ps aux | egrep [m]ender") + + # Check if a simple Mender command is correctly executed + self.assertRunOk("mender -log-level debug show-artifact") + self.assertRunOk("mender -log-level debug show-artifact | grep 'RUNTIME_TEST_ARTIFACT_NAME'") + cmd = "mender show-artifact 2>&1 | grep -i 'err'" # Check if no 'error' among the traces + _, exit_code = self.emulator.run(cmd) + self.assertEqual(exit_code, 1) diff --git a/support/testing/tests/package/test_mender/rootfs-overlay/etc/mender/artifact_info b/support/testing/tests/package/test_mender/rootfs-overlay/etc/mender/artifact_info new file mode 100644 index 0000000000..4d54b8f89c --- /dev/null +++ b/support/testing/tests/package/test_mender/rootfs-overlay/etc/mender/artifact_info @@ -0,0 +1 @@ +artifact_name=RUNTIME_TEST_ARTIFACT_NAME diff --git a/support/testing/tests/package/test_mender/rootfs-overlay/usr/bin/fw_printenv b/support/testing/tests/package/test_mender/rootfs-overlay/usr/bin/fw_printenv new file mode 100755 index 0000000000..c002a0f2b8 --- /dev/null +++ b/support/testing/tests/package/test_mender/rootfs-overlay/usr/bin/fw_printenv @@ -0,0 +1,6 @@ +#!/bin/sh + +# Fake 'fw_printenv' because UBoot is not installed: print some plausible 'key-value' +echo "bootcount=0" +echo "mender_boot_part=rootfs" +echo "upgrade_available=0"