From: Lucas De Marchi Date: Fri, 30 May 2014 12:36:21 +0000 (-0300) Subject: testsuite: add test to fail depmod on module loops X-Git-Tag: v18~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8183cfa9dac9216e4f50b2fb33a22ae0eac233e9;p=thirdparty%2Fkmod.git testsuite: add test to fail depmod on module loops --- 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 index 00000000..c48a4185 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 index 00000000..70dc122e 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 index 00000000..ded3201f 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 index 00000000..2c7273ac 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 index 00000000..393e825c 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 index 00000000..718a50e7 --- /dev/null +++ b/testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/modules.order @@ -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 diff --git a/testsuite/test-depmod.c b/testsuite/test-depmod.c index 5b673486..c5caec40 100644 --- a/testsuite/test-depmod.c +++ b/testsuite/test-depmod.c @@ -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, };