support/tests/cpio: extend runtime tests

Check that dependencies that are DT_NEEDED by a program are
automatically copied by dracut. We use cramfs, the package,
as it is small and just depends on libz.

Test more than one dracut config file.

Reported-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thierry Bultel <thierry.bultel@linatsea.fr>
Cc: Adam Duskett <aduskett@gmail.com>
[Arnout: remove test for features that haven't been merged yet]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
Yann E. MORIN 2022-08-19 19:51:01 +02:00 committed by Arnout Vandecappelle
parent 4fd5d80e9d
commit c25b445488
2 changed files with 14 additions and 1 deletions

View File

@ -37,11 +37,14 @@ class TestCpioDracutBase(infra.basetest.BRTest):
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_INIT_BUSYBOX=y
BR2_PACKAGE_CRAMFS=y
BR2_PACKAGE_PV=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_CPIO_DRACUT=y
BR2_TARGET_ROOTFS_CPIO_DRACUT_CONF_FILES="{}"
# BR2_TARGET_ROOTFS_TAR is not set
"""
""".format(" ".join(["fs/cpio/dracut.conf",
"support/testing/tests/fs/test_cpio/dracut-cramfs.conf"]))
def check_dracut(self):
out = subprocess.check_output(["cpio", "--list"],
@ -52,6 +55,9 @@ class TestCpioDracutBase(infra.basetest.BRTest):
universal_newlines=True)
# pv should *not* be included in cpio image
self.assertEqual(out.find("bin/pv"), -1)
# libz should be, because of cramfs
self.assertNotEqual(out.find("usr/bin/mkcramfs"), -1)
self.assertNotEqual(out.find("usr/lib/libz.so"), -1)
exit_code = boot_img(self.emulator,
self.builddir)

View File

@ -0,0 +1,7 @@
install_items+="
/usr/bin/mkcramfs
"
add_dracutmodules+="
cramfs
"