From 2ce5de0ae6c191920a4eeeab757ccfad092d9e0f Mon Sep 17 00:00:00 2001 From: Michal Marek Date: Fri, 28 Feb 2014 13:05:29 +0100 Subject: 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. --- .../4.4.4/kernel/drivers/input/mouse/psmouse.ko | Bin 0 -> 95649 bytes .../force/lib/modules/4.4.4/modules.alias | 3 +++ .../force/lib/modules/4.4.4/modules.alias.bin | Bin 0 -> 101 bytes .../force/lib/modules/4.4.4/modules.builtin.bin | 0 .../force/lib/modules/4.4.4/modules.dep | 1 + .../force/lib/modules/4.4.4/modules.dep.bin | Bin 0 -> 72 bytes .../force/lib/modules/4.4.4/modules.devname | 1 + .../force/lib/modules/4.4.4/modules.softdep | 2 ++ .../force/lib/modules/4.4.4/modules.symbols | 1 + .../force/lib/modules/4.4.4/modules.symbols.bin | Bin 0 -> 12 bytes .../test-modprobe/force/proc/modules | 0 testsuite/test-modprobe.c | 23 +++++++++++++++++++++ 12 files changed, 31 insertions(+) create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/kernel/drivers/input/mouse/psmouse.ko create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.alias create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.alias.bin create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.builtin.bin create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.dep create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.dep.bin create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.devname create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.softdep create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.symbols create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/lib/modules/4.4.4/modules.symbols.bin create mode 100644 testsuite/rootfs-pristine/test-modprobe/force/proc/modules 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 0000000..4eac2a3 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 0000000..a4e7677 --- /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 0000000..0b13537 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 0000000..e69de29 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 0000000..7ba5711 --- /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 0000000..bdd0eb5 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 0000000..58f6d6d --- /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 0000000..3cc0512 --- /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 0000000..618c345 --- /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 0000000..7075435 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 0000000..e69de29 diff --git a/testsuite/test-modprobe.c b/testsuite/test-modprobe.c index c3ef31e..92348b0 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, }; -- cgit v1.2.1