]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
testsuite/modprobe: add modprobe --show-exports modulename
authorEmil Velikov <emil.l.velikov@gmail.com>
Fri, 30 May 2025 19:16:11 +0000 (20:16 +0100)
committerLucas De Marchi <lucas.de.marchi@gmail.com>
Fri, 13 Jun 2025 18:52:41 +0000 (13:52 -0500)
Add test for the newly introduced --show-exports code path.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://github.com/kmod-project/kmod/pull/353
Signed-off-by: Lucas De Marchi <lucas.de.marchi@gmail.com>
12 files changed:
scripts/setup-rootfs.sh
testsuite/rootfs-pristine/test-modprobe/show-exports-module/correct.txt [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.alias.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.builtin.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.dep.bin [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.devname [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.softdep [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols [new file with mode: 0644]
testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols.bin [new file with mode: 0644]
testsuite/test-modprobe.c

index 524defa28619de18d8ec33c9f941cabc2b54d746..2e021648a1fb02fe222ac4d6565b5ad11baa24f8 100755 (executable)
@@ -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 (file)
index 0000000..801cf70
--- /dev/null
@@ -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 (file)
index 0000000..ba76e18
--- /dev/null
@@ -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 (file)
index 0000000..7075435
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..f166f66
--- /dev/null
@@ -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 (file)
index 0000000..418d583
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 (file)
index 0000000..58f6d6d
--- /dev/null
@@ -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 (file)
index 0000000..5554ccc
--- /dev/null
@@ -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 (file)
index 0000000..6c53580
--- /dev/null
@@ -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 (file)
index 0000000..27c5f43
Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/show-exports-module/lib/modules/4.4.4/modules.symbols.bin differ
index b341f8908c952d3ad9c06c48dbbabd300fbe5b46..951dd65c2055223a343960447ad8a9ad2fc7aa8a 100644 (file)
@@ -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");