From 07f1abb9656125e354825c67c785c96403615a07 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Fri, 30 May 2025 20:16:11 +0100 Subject: [PATCH] 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 --- scripts/setup-rootfs.sh | 1 + .../show-exports-module/correct.txt | 1 + .../lib/modules/4.4.4/modules.alias | 1 + .../lib/modules/4.4.4/modules.alias.bin | Bin 0 -> 12 bytes .../lib/modules/4.4.4/modules.builtin.bin | 0 .../lib/modules/4.4.4/modules.dep | 3 +++ .../lib/modules/4.4.4/modules.dep.bin | Bin 0 -> 188 bytes .../lib/modules/4.4.4/modules.devname | 1 + .../lib/modules/4.4.4/modules.softdep | 1 + .../lib/modules/4.4.4/modules.symbols | 3 +++ .../lib/modules/4.4.4/modules.symbols.bin | Bin 0 -> 78 bytes testsuite/test-modprobe.c | 16 ++++++++++++++++ 12 files changed, 27 insertions(+) create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/correct.txt create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias.bin create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.builtin.bin create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep.bin create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.devname create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.softdep create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols create mode 100644 testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols.bin 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 0000000000000000000000000000000000000000..7075435f6268c4d815aec093d61e26647666ba76 GIT binary patch literal 12 Tc-q^*{w17&iGh)Ufq@4A6;A>Z literal 0 Hc-jL100001 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 0000000000000000000000000000000000000000..418d5839a88c95cb08ed24e128ffdb8717ca1504 GIT binary patch literal 188 zc-q^*{w17&iGfjpfngg10|O%vGi9e1<)!B6=jNyA=H%xW=qBoA=UXYDizWd@8K7Di zu}NAn09o-2iAfF&3_L(=pP5^blM2(qfTX1uECbP!63>uRynulrmH`Jiz`&4`n+sGi F0RSP9Ej|DM literal 0 Hc-jL100001 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 0000000000000000000000000000000000000000..27c5f4330c93722f6bab5c7a91601ab58fdda577 GIT binary patch literal 78 zc-q^*{w17&iGfjpfx&};fq@Z-nR4?};&bxz3*r+QphAprp(KXN+@$;*tAe7;yb=aS SCkF-w9w3%4E?&UEU<3f4`w|ua literal 0 Hc-jL100001 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"); -- 2.47.2