diff options
author | Lucas De Marchi <lucas.demarchi@intel.com> | 2014-03-06 01:24:32 -0300 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@intel.com> | 2014-03-06 01:30:56 -0300 |
commit | 42149024828509d93dd7d93464ac96b040160ba1 (patch) | |
tree | 68f97149b9a2c6a4b739f7c45256938bf64fc573 | |
parent | bad84a9e6ef3f3ee0fb214d2b55d61b2e55aff2f (diff) | |
download | kmod-42149024828509d93dd7d93464ac96b040160ba1.tar.gz |
testsuite: add test to ignore unrelated strings in kcmdline
Strings unrelated to modules and modprobe should be ignored and not
appear in the output of "modprobe -c".
This adds a test for the fix provided in aa87854 ("libkmod-config: Only
match dot before '=' in /proc/cmdline").
3 files changed, 31 insertions, 0 deletions
diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline3/correct.txt b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline3/correct.txt new file mode 100644 index 0000000..b73a680 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline3/correct.txt @@ -0,0 +1,5 @@ +options psmouse foo +options psmouse bar=1 + +# End of configuration files. Dumping indexes now: + diff --git a/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline3/proc/cmdline b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline3/proc/cmdline new file mode 100644 index 0000000..3575bb1 --- /dev/null +++ b/testsuite/rootfs-pristine/test-modprobe/module-param-kcmdline3/proc/cmdline @@ -0,0 +1 @@ +BOOT_IMAGE=/boot/vmlinuz-3.12.12-57.g5f654cf-default initrd=\initramfs-linux.img psmouse.foo psmouse.bar=1 root=/dev/sda2 rootfstype=ext4 add_efi_memmap quiet rw diff --git a/testsuite/test-modprobe.c b/testsuite/test-modprobe.c index b5eaba3..e5bd925 100644 --- a/testsuite/test-modprobe.c +++ b/testsuite/test-modprobe.c @@ -211,6 +211,30 @@ static DEFINE_TEST(modprobe_param_kcmdline2, .modules_loaded = "", ); +static noreturn int modprobe_param_kcmdline3(const struct test *t) +{ + const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe"; + const char *const args[] = { + progname, + "-c", + NULL, + }; + + test_spawn_prog(progname, args); + exit(EXIT_FAILURE); +} +static DEFINE_TEST(modprobe_param_kcmdline3, + .description = "check if unrelated strings in kcmdline are correctly ignored", + .config = { + [TC_UNAME_R] = "4.4.4", + [TC_ROOTFS] = TESTSUITE_ROOTFS "test-modprobe/module-param-kcmdline3", + }, + .output = { + .out = TESTSUITE_ROOTFS "test-modprobe/module-param-kcmdline3/correct.txt", + }, + .modules_loaded = "", + ); + static noreturn int modprobe_force(const struct test *t) { const char *progname = ABS_TOP_BUILDDIR "/tools/modprobe"; @@ -287,6 +311,7 @@ static const struct test *tests[] = { &smodprobe_install_cmd_loop, &smodprobe_param_kcmdline, &smodprobe_param_kcmdline2, + &smodprobe_param_kcmdline3, &smodprobe_force, &smodprobe_oldkernel, &smodprobe_oldkernel_force, |