From: Michal Marek Date: Fri, 28 Feb 2014 12:05:29 +0000 (+0100) Subject: testsuite: Add test for modprobe --force X-Git-Tag: v17~34 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2ce5de0ae6c191920a4eeeab757ccfad092d9e0f;p=thirdparty%2Fkmod.git testsuite: Add test for modprobe --force There is no check if the correct flags are passed to finit_module, but at least we cover the respective code path in kmod. --- diff --git a/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/kernel/drivers/input/mouse/psmouse.ko b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/kernel/drivers/input/mouse/psmouse.ko new file mode 100644 index 00000000..4eac2a3d Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/kernel/drivers/input/mouse/psmouse.ko differ diff --git a/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.alias b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.alias new file mode 100644 index 00000000..a4e76770 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.alias @@ -0,0 +1,3 @@ +# Aliases extracted from modules themselves. +alias serio:ty05pr*id*ex* psmouse +alias serio:ty01pr*id*ex* psmouse diff --git a/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.alias.bin b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.alias.bin new file mode 100644 index 00000000..0b135371 Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.alias.bin differ diff --git a/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.builtin.bin b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.builtin.bin new file mode 100644 index 00000000..e69de29b diff --git a/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.dep b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.dep new file mode 100644 index 00000000..7ba57117 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.dep @@ -0,0 +1 @@ +kernel/drivers/input/mouse/psmouse.ko: diff --git a/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.dep.bin b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.dep.bin new file mode 100644 index 00000000..bdd0eb5f Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.dep.bin differ diff --git a/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.devname b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.devname new file mode 100644 index 00000000..58f6d6d6 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/force/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/force/lib/modules/4.4.4/modules.softdep b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.softdep new file mode 100644 index 00000000..3cc05126 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.softdep @@ -0,0 +1,2 @@ +# Soft dependencies extracted from modules themselves. +# Copy, with a .conf extension, to /etc/modprobe.d to use it with modprobe. diff --git a/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.symbols b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.symbols new file mode 100644 index 00000000..618c345f --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.symbols @@ -0,0 +1 @@ +# Aliases for symbols, used by symbol_request(). diff --git a/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.symbols.bin b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.symbols.bin new file mode 100644 index 00000000..7075435f Binary files /dev/null and b/testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.symbols.bin differ diff --git a/testsuite/rootfs-pristine/test-modprobe/force/proc/modules b/testsuite/rootfs-pristine/test-modprobe/force/proc/modules new file mode 100644 index 00000000..e69de29b diff --git a/testsuite/test-modprobe.c b/testsuite/test-modprobe.c index c3ef31e7..92348b0b 100644 --- a/testsuite/test-modprobe.c +++ b/testsuite/test-modprobe.c @@ -187,6 +187,28 @@ static DEFINE_TEST(modprobe_param_kcmdline, .modules_loaded = "", ); +static noreturn int modprobe_force(const struct test *t) +{ + const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe"; + const char *const args[] = { + progname, + "--force", "psmouse", + NULL, + }; + + test_spawn_prog(progname, args); + exit(EXIT_FAILURE); +} +static DEFINE_TEST(modprobe_force, + .description = "check modprobe --force", + .config = { + [TC_UNAME_R] = "4.4.4", + [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/force", + [TC_INIT_MODULE_RETCODES] = "", + }, + .modules_loaded = "psmouse", + ); + static const struct test *tests[] = { &smodprobe_show_depends, @@ -196,6 +218,7 @@ static const struct test *tests[] = { &smodprobe_softdep_loop, &smodprobe_install_cmd_loop, &smodprobe_param_kcmdline, + &smodprobe_force, NULL, };