From: Emil Velikov Date: Fri, 30 May 2025 19:16:11 +0000 (+0100) Subject: testsuite/modprobe: add modprobe --show-exports modulename X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=07f1abb9656125e354825c67c785c96403615a07;p=thirdparty%2Fkmod.git testsuite/modprobe: add modprobe --show-exports modulename Add test for the newly introduced --show-exports code path. Signed-off-by: Emil Velikov Link: https://github.com/kmod-project/kmod/pull/353 Signed-off-by: Lucas De Marchi --- diff --git a/scripts/setup-rootfs.sh b/scripts/setup-rootfs.sh index 524defa2..2e021648 100755 --- a/scripts/setup-rootfs.sh +++ b/scripts/setup-rootfs.sh @@ -82,6 +82,7 @@ map=( ["test-modprobe/show-depends$MODULE_DIRECTORY/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko" ["test-modprobe/show-depends$MODULE_DIRECTORY/4.4.4/kernel/mod-simple.ko"]="mod-simple.ko" ["test-modprobe/show-exports/mod-loop-a.ko"]="mod-loop-a.ko" + ["test-modprobe/show-exports-module$MODULE_DIRECTORY/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko" ["test-modprobe/softdep-loop$MODULE_DIRECTORY/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko" ["test-modprobe/softdep-loop$MODULE_DIRECTORY/4.4.4/kernel/mod-loop-b.ko"]="mod-loop-b.ko" ["test-modprobe/weakdep-loop$MODULE_DIRECTORY/4.4.4/kernel/mod-loop-a.ko"]="mod-loop-a.ko" diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/correct.txt b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/correct.txt new file mode 100644 index 00000000..801cf709 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/correct.txt @@ -0,0 +1 @@ +0x[0-9a-fA-F]+ printB diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias new file mode 100644 index 00000000..ba76e181 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias @@ -0,0 +1 @@ +# Aliases extracted from modules themselves. diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias.bin b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias.bin new file mode 100644 index 00000000..7075435f Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias.bin differ diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.builtin.bin b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.builtin.bin new file mode 100644 index 00000000..e69de29b diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep new file mode 100644 index 00000000..f166f665 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep @@ -0,0 +1,3 @@ +kernel/mod-simple.ko: +kernel/mod-loop-b.ko: +kernel/mod-loop-a.ko: kernel/mod-loop-b.ko diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep.bin b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep.bin new file mode 100644 index 00000000..418d5839 Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep.bin differ diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.devname b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.devname new file mode 100644 index 00000000..58f6d6d6 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.devname @@ -0,0 +1 @@ +# Device nodes to trigger on-demand module loading. diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.softdep b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.softdep new file mode 100644 index 00000000..5554ccca --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.softdep @@ -0,0 +1 @@ +# Soft dependencies extracted from modules themselves. diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols new file mode 100644 index 00000000..6c535800 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols @@ -0,0 +1,3 @@ +# Aliases for symbols, used by symbol_request(). +alias symbol:printB mod_loop_b +alias symbol:printA mod_loop_a diff --git a/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols.bin b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols.bin new file mode 100644 index 00000000..27c5f433 Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols.bin differ diff --git a/testsuite/test-modprobe.c b/testsuite/test-modprobe.c index b341f890..951dd65c 100644 --- a/testsuite/test-modprobe.c +++ b/testsuite/test-modprobe.c @@ -87,6 +87,22 @@ DEFINE_TEST(modprobe_show_exports, .regex = true, }); +static noreturn int modprobe_show_exports_module(void) +{ + EXEC_MODPROBE("--show-exports", "mod-loop-b"); + exit(EXIT_FAILURE); +} +DEFINE_TEST(modprobe_show_exports_module, + .description = "check if modprobe --show-depends also works with module names", + .config = { + [TC_UNAME_R] = "4.4.4", + [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/show-exports-module", + }, + .output = { + .out = TESTSUITE_ROOTFS "test-modprobe/show-exports-module/correct.txt", + .regex = true, + }); + static noreturn int modprobe_builtin(void) { EXEC_MODPROBE("unix");