testsuite: add test to fail depmod on module loops
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 30 May 2014 12:36:21 +0000 (09:36 -0300)
committerLucas De Marchi <lucas.demarchi@intel.com>
Fri, 30 May 2014 12:36:56 +0000 (09:36 -0300)
testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleA.ko [new file with mode: 0644]
testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleB.ko [new file with mode: 0644]
testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleC.ko [new file with mode: 0644]
testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleD.ko [new file with mode: 0644]
testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleE.ko [new file with mode: 0644]
testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/modules.order [new file with mode: 0644]
testsuite/test-depmod.c

diff --git a/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleA.ko b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleA.ko
new file mode 100644 (file)
index 0000000..c48a418
Binary files /dev/null and b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleA.ko differ
diff --git a/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleB.ko b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleB.ko
new file mode 100644 (file)
index 0000000..70dc122
Binary files /dev/null and b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleB.ko differ
diff --git a/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleC.ko b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleC.ko
new file mode 100644 (file)
index 0000000..ded3201
Binary files /dev/null and b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleC.ko differ
diff --git a/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleD.ko b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleD.ko
new file mode 100644 (file)
index 0000000..2c7273a
Binary files /dev/null and b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleD.ko differ
diff --git a/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleE.ko b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleE.ko
new file mode 100644 (file)
index 0000000..393e825
Binary files /dev/null and b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleE.ko differ
diff --git a/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/modules.order b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/modules.order
new file mode 100644 (file)
index 0000000..718a50e
--- /dev/null
@@ -0,0 +1,5 @@
+kernel//home/lucas/p/kmod/testsuite/module-playground/moduleA.ko
+kernel//home/lucas/p/kmod/testsuite/module-playground/moduleB.ko
+kernel//home/lucas/p/kmod/testsuite/module-playground/moduleC.ko
+kernel//home/lucas/p/kmod/testsuite/module-playground/moduleD.ko
+kernel//home/lucas/p/kmod/testsuite/module-playground/moduleE.ko
index 5b67348..c5caec4 100644 (file)
@@ -106,6 +106,28 @@ static DEFINE_TEST(depmod_search_order_same_prefix,
                },
        });
 
+#define DETECT_LOOP_ROOTFS TESTSUITE_ROOTFS "test-depmod/detect-loop"
+static noreturn int depmod_detect_loop(const struct test *t)
+{
+       const char *progname = ABS_TOP_BUILDDIR "/tools/depmod";
+       const char *const args[] = {
+               progname,
+               NULL,
+       };
+
+       test_spawn_prog(progname, args);
+       exit(EXIT_FAILURE);
+}
+static DEFINE_TEST(depmod_detect_loop,
+       .description = "check if depmod detects module loops correctly",
+       .config = {
+               [TC_UNAME_R] = "4.4.4",
+               [TC_ROOTFS] = DETECT_LOOP_ROOTFS,
+       },
+       .expected_fail = true,
+       );
+
+
 
 static const struct test *tests[] = {
 #ifdef ENABLE_ZLIB
@@ -113,6 +135,7 @@ static const struct test *tests[] = {
 #endif
        &sdepmod_search_order_simple,
        &sdepmod_search_order_same_prefix,
+       &sdepmod_detect_loop,
        NULL,
 };