support/testing/tests/package/test_mender.py: Add RO fs test

Add a test for read-only file systems.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
Adam Duskett
2024-10-14 12:21:20 +02:00
committed by Arnout Vandecappelle
parent 9320989053
commit 5389f9b1a2

View File

@@ -3,23 +3,23 @@ import os
import infra.basetest import infra.basetest
class TestMender(infra.basetest.BRTest): class TestMenderInfra(infra.basetest.BRTest):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
""" """
BR2_PACKAGE_MENDER=y BR2_PACKAGE_MENDER=y
BR2_TARGET_ROOTFS_CPIO=y BR2_TARGET_ROOTFS_CPIO=y
BR2_ROOTFS_OVERLAY="{}" BR2_ROOTFS_OVERLAY="{}"
""".format( """.format(
# overlay to add a fake 'fw_printenv', used by Mender # overlay to add a fake 'fw_printenv', used by Mender
infra.filepath("tests/package/test_mender/rootfs-overlay")) infra.filepath("tests/package/test_mender/rootfs-overlay"))
def test_run(self): def base_test_run(self):
cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
self.emulator.boot(arch="armv5", self.emulator.boot(arch="armv5", kernel="builtin",
kernel="builtin",
options=["-initrd", cpio_file]) options=["-initrd", cpio_file])
self.emulator.login() self.emulator.login()
def run_mender_test(self):
# Check if the Daemon is running # Check if the Daemon is running
self.assertRunOk("ls /var/run/mender.pid") self.assertRunOk("ls /var/run/mender.pid")
self.assertRunOk("ps aux | egrep [m]ender") self.assertRunOk("ps aux | egrep [m]ender")
@@ -30,3 +30,21 @@ class TestMender(infra.basetest.BRTest):
cmd = "mender show-artifact 2>&1 | grep -i 'err'" # Check if no 'error' among the traces cmd = "mender show-artifact 2>&1 | grep -i 'err'" # Check if no 'error' among the traces
_, exit_code = self.emulator.run(cmd) _, exit_code = self.emulator.run(cmd)
self.assertEqual(exit_code, 1) self.assertEqual(exit_code, 1)
class TestMenderRW(TestMenderInfra):
def test_run(self):
TestMenderInfra.base_test_run(self)
self.run_mender_test()
class TestMenderRO(TestMenderInfra):
config = \
"""
{}
# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
""".format(TestMenderInfra.config)
def test_run(self):
TestMenderInfra.base_test_run(self)
self.run_mender_test()