diff --git a/scripts/setup-rootfs.sh b/scripts/setup-rootfs.sh index 524defa..2e02164 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 0000000..801cf70 --- /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 0000000..ba76e18 --- /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 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 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 index 0000000..f166f66 --- /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 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 index 0000000..58f6d6d --- /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 0000000..5554ccc --- /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 0000000..6c53580 --- /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 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 diff --git a/testsuite/test-modprobe.c b/testsuite/test-modprobe.c index b341f89..951dd65 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");