[PATCH v2 2/5] testsuite: Add test for modprobe --force

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 0000000000000000000000000000000000000000..4eac2a3da3230435e7b21074f2a2681648cafc5e
GIT binary patch
literal 95649
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
Z*FWGjy0lT#DAQSpA#k&h)+l)E{{jSM|IGjZ

literal 0
HcmV?d00001

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 0000000000000000000000000000000000000000..0b13537105c401379bc57d7871cd3486d3e7cd1a
GIT binary patch
literal 101
zcmdnM{w17&iGfjpfg!%2NGmf%E44z40SFjDL_u+Gera(k18$krqRf1&l1c*xL(>Bc
U3_KuBFmQl@L9MuW0Rw{r0F!PNmjD0&

literal 0
HcmV?d00001

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 0000000000000000000000000000000000000000..bdd0eb5fb37bb470d36c28807569a458e5f866d9
GIT binary patch
literal 72
zcmdnM{w17&iGfjpfx)RbH@~zvl>rDCK}2?HQC@0}eo9ehS!z+Ser8@lX^B2qiGBe@
Qsa|%z6+=P60R{#h0Mj28lmGw#

literal 0
HcmV?d00001

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 0000000000000000000000000000000000000000..7075435f6268c4d815aec093d61e26647666ba76
GIT binary patch
literal 12
TcmdnM{w17&iGh)Ufq@4A6;A>Z

literal 0
HcmV?d00001

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,
 };
 
-- 
1.8.4.5

--
To unsubscribe from this list: send the line "unsubscribe linux-modules" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux