support/testing: TestApache: use read-only rootfs image

With this the test verifies not only that Apache can work in
principle, but also that it works with a read-only rootfs. Because of
the read-only rootfs the test itself cannot write to /root, so store
the test download in /tmp.

Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 0c349a8813)
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
This commit is contained in:
Fiona Klute
2026-07-02 01:04:09 +02:00
committed by Titouan Christophe
parent 6c1d649fcb
commit 94cafd2673

View File

@@ -1,5 +1,6 @@
import os
import infra
import infra.basetest
@@ -7,17 +8,22 @@ class TestApache(infra.basetest.BRTest):
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
"""
BR2_PACKAGE_APACHE=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_LZO=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",
rootfs = os.path.join(self.builddir, "images", "rootfs.squashfs")
infra.img_round_power2(rootfs)
self.emulator.boot(arch="armv7",
kernel="builtin",
options=["-initrd", cpio_file])
kernel_cmdline=["root=/dev/mmcblk0",
"rootfstype=squashfs"],
options=["-drive",
"file={},if=sd,format=raw".format(rootfs)])
self.emulator.login()
self.assertRunOk("httpd -V")
self.assertRunOk("wget http://localhost/index.html")
self.assertRunOk("grep -F 'It works!' index.html")
self.assertRunOk("wget -O /tmp/index.html http://localhost/index.html")
self.assertRunOk("grep -F 'It works!' /tmp/index.html")