From 8183cfa9dac9216e4f50b2fb33a22ae0eac233e9 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Fri, 30 May 2014 09:36:21 -0300 Subject: [PATCH] testsuite: add test to fail depmod on module loops --- .../lib/modules/4.4.4/kernel/moduleA.ko | Bin 0 -> 4713 bytes .../lib/modules/4.4.4/kernel/moduleB.ko | Bin 0 -> 4713 bytes .../lib/modules/4.4.4/kernel/moduleC.ko | Bin 0 -> 4713 bytes .../lib/modules/4.4.4/kernel/moduleD.ko | Bin 0 -> 4713 bytes .../lib/modules/4.4.4/kernel/moduleE.ko | Bin 0 -> 4713 bytes .../lib/modules/4.4.4/modules.order | 5 ++++ testsuite/test-depmod.c | 23 ++++++++++++++++++ 7 files changed, 28 insertions(+) create mode 100644 testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleA.ko create mode 100644 testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleB.ko create mode 100644 testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleC.ko create mode 100644 testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleD.ko create mode 100644 testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/kernel/moduleE.ko create mode 100644 testsuite/rootfs-pristine/test-depmod/detect-loop/lib/modules/4.4.4/modules.order 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 0000000000000000000000000000000000000000..c48a4185302c6c33129b3cc92f528b8d399f077a GIT binary patch literal 4713 zc-rk)&2Jk;6rXjRx+YDOlmdlPv6M=rf{eVWIkb?-X&PcnNfkgrl~As_UI!q?)tRZv+6liwcw zz3|oNw}JM}yOr51KfRG|=N9={EnmM*w6Rsb^fN`)wtKN#vAMPl1`w^-^s8+b&7IcE z$aVea^|$=Mt?F|Rb^E!Fjl2-eEUqj8s~y$-U}mXpTcLgy>C0AN*B$*OmjJMen$#{i zUW8m|`^{M#UqvnCRl}K>?F_hxf~Hk-?3t6$D8k~DF*Wzdx-z*hVdNHG?_Dd=dWD8@oXo) zvG@3|n}1&;+B7d9FA6qI6Z|j2-UjeM9>{-^#rgTu`XrvxPUuB=3KsO~f>A8IFm33Q zcwh&}MOKJT4DJWR&1Ph+V;u#tuJb$3j}WYRZMfcc-0GB51rWzsFhUyp_dAg3*@I4#BsP2SjJk$VO53whnCYyL5vxmZEnF=GzZrpcw9Klx(Ul{=} zF@0RXvx0q+u5AG96Yv((j|=#?U_(ipbdfp`>oT(svmE!QY$B%={FhYgnP4yXi9gaO zzO2Z|M2i&`TxqWf+BvU z&--^r(k9*456C|u$-OIHyLY^-?`dAFej7u{JbYAAzr2cng0(*YKVUhKx$B?ZSn>=X z5ysHNDgR?B|E$7)OyQqy=b03q&g&`3xYO7(%lhTG0#Da>MN9Cf2V7%^q;CkpGYUMb zz=suhPJ!nY_=o~Opuk5J_?QA8SKt#0{Gb9qq`)6h;EziCFAMJOiuefa*Ws>x5RoTo zOi~AaXE2=Ge7#zrcv2tU6R%S|FP-;g`P3A6oAH)}_3M3#kM|73PnbWSw_fbS`x%{s zlKS)c`b&!Ede+SyIu9rBE#KdLCs|vG{7C(K>->wt|F#1EgW`90|NP+ltFjMLXoCoa z5!*DIWFwDv+N_@JUdx9#+s!DMF#ot-`hI1AR0Y~dLVJGH<- nYFD3T;Kvw*BfY6lJ`@;1hq&{(P9A}~vr_U2s)VA|W<9Z2Uhf+3 zx+DS#aR5;vae#lI7bJQ>0xld-MbsS9Q#m1VKuASGl#fGuLIR{PGkz1V$1}Au|+$>)DnIkJ(-Po;`xw3`&kVLK)l$suy znKX*T^MYrMH-d&&GG-p=^z&SY_#v5^TUtPNGpYoQsfDIvhsIfAEZPmH;unZ_t)!(7nkY`1N_FTlrX?y%98{J;cvnzWFrMJelg=`JbEq z=C|GW!rtS*uKj(LY0Fw8e$?2oEcCw!ybb8S+?W3(bA`gBae_{1Cyg9FgR{m&*34y3 zPngCDItH$!r)35uJF*$4iA{v*sBrzY0PO}?^p5M7LlIbWf~Fr? zUf@t4F;yYV8UbpSr|0_Bz;_6aDsE`Ch8n`FA@!uwWQ`7Fcqm$y@i4NT>OFVIQF^55 zk(BT}=;IQelI&A_Z9{0Egx5hIk?>K;#)>xiB6Xmp#UghYa@-%YnViw^U(&5-lD*g? z{%DW*q9*_BaCiQLiu_lgO;LXX^yiv-$@T>e|2ptzV|-}^zbEkv|4q>QrFLbztl|H3 zxRZzJjDr6n@J~qb*L&1o=y#?3h1>@HL67=Y(f3JA{gNo<>2{4)e@L+%W{{mQ6 z6Tj5s{kyGblke;My8 z;d4;C{$jrVO0iZlxyI+=?z-L3_{$k*7QD<#Y2dFV9-@XD#?YVRnG69~D`?ZRg(%7W_Nd-RTQJuuzTJ79MEe puLT8SyZShT_>I9h;+y)|XE{q%!0@#XKMgF4CJ{>sJ}m$M^)Esin!W%4 literal 0 Hc-jL100001 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 0000000000000000000000000000000000000000..ded3201f8da1b7dc206c06f5348eda66234ced14 GIT binary patch literal 4713 zc-rk)&2Jk;6dyZIU6UqCN`XQPEEI`Wkdd7lp#q581#wCbMDbpg(gp+``PULByv5IyEkt)RnKuf6&E zU#0xmH-CQqoR?``U3_mX9_J=It&}cbW-_-?I{yntRyTXGn{9P<6AjQ3`MO_jx}^A$ zQ6jGEKX1J42X5IYKG1FFIyUh_GCjY%h^%H*^@Hifrfr4BNn$Knfn9ZsS6l|*GO2UD z;CK;nvF+DqsDGI>h*u7$+ibJw90}@H#j&T4<6Iu+Cv%gtr;8=y^`&K_5fD;uLk;B-Oy>`$ zM%)(MaXcr2+e|mjnurdn9oTKvFI$ntICD6MFdY?+ch*Nc4ko?hc$H8%)@{G(MW*Z9 z)J9BI2(utS&GK{|ujYF;!BN!-&Gt}3crB!sbegQwi2xpomSr-GEW38k-EoK>X?i3j zya4hU2~SD-alW=8v`4}lARm?RaY@IDn0%4i*On#F4?>Q6V>)XmH2mjv>zSl4_3=N{ z$G@b>KReo+|F9zeRfs9-Z-D$tQ!iORqv2l%{%njdt>AYheqp}>a<3Fu)+-wRFGjn0 zn9L~n&jJ6Gr~g0G_1nEjEMeM)0Lrm>I5c`}B_^Lkn_?h^3Ks(yJwgU9Q;oao?B4Y!kUkcsXmhlnZuftvYAl43Z zpH3abRSs~Wi}h-b#sT2o$VKAzPlZ_|6Z|%vi5@p|B27ry>-69@y`1%_KCMNakhA#>E3l5K1i{R zA`(WhX*StLp6;|)PA$B)GG{KFG~xe5t_y7csL1kdJO5@d;orf|PG10mg-Xn}@IV89 oEhrG%)yEmcZw$r}-_)BXjW2@3H+t+-pQSHM<3_dE7Y5+}0x0{N3jhEB literal 0 Hc-jL100001 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 0000000000000000000000000000000000000000..2c7273ac572769fa64897c7616d8a3e81af6da58 GIT binary patch literal 4713 zc-rk)O>7%Q6dpTHT{lgXlmac~X9bmL1sQo$b7&!zQEXyMNtJ>E za^2ur?ad%`ZEbE}ub=B!$dAzM{L%t2J8?4zXBRq_8EF-yEt;X#bhH;-0zeyi)Gj-I zj9h31-f0|fqc-yGXtv8%1s720nGMI9JpuI+EKTdvFTOli(_UFz(%KtC= zRD5nm*N)+V z9U>Q*5jsA+AB@($*j&Xr4!gR^@BAP}u;F*$YR7TyX~zZ-$C)rjYcZg|5YHb@3%Tp; ziQ_vldrWM@Xz|vWX@yqT3~Vzt38xNq0P(1B{PO|W2{7;z$8SVD(6fS$9~*99VIMwK z0Z1BQ)Fe;W@mqm!As9EE$mk9=09PaIiKj^qPXz3xa9O6K*tA;r+#N^omB&|Bz{^Y@ z74V#3pP*|S0DA8;X_GEe`@6cv>_aTay(yc>Nd^BU)p{n_iv!}142Z8O z@-L3}=RYdRe}%Ql>#s5Wg`!@feNMr@#`udVzPyCr75KUT2Ge_mc163P;QwsAmxt(r zg#QBLpAq7>2GpPHcZK}9++g~{0rmSx5r2^pi4CB zeHYjbTMa{L+B` z-wjEdbYDLt|CA*6p7_k&<7ItM^J4W|8%gHj$0YSDsQ9N?`$O;pmctYHy0hJt0>j6I zG4w#n|H+hpPT@bH@K3k%cnVMFbyPC$GVGmY{qmFoPuF)Tli=ErYwU>hA42e~0?#S% zQ3ak?-~|Ofroi_r@Noq`p};2<_>=-apui6*@COz6L(=}sft%YRK1Ta>v}Yegce~DRf-p+^S&&fh63*}-m=lj;*-xTfqLGhd0Up@0q&-uhH+I})#4htWo&;l`v zVzy~E$VMLTw3pA+&n{Pudc|Pp6M7HWJ*X(sZ9DyDFxc6_&Q6~LoCRx0w(yLGomyZZ nwX07v@M8?Zk>1p^&+^pQJ;|6qO+F(SJv&7(44hRDRssJ4&9|Hl literal 0 Hc-jL100001 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 0000000000000000000000000000000000000000..393e825c972bedeeeee1df7c49212adaaa036c8f GIT binary patch literal 4713 zc-rk)-)kI29G|^hdcCHJNo}=SgR2y5(F}L#iL{z>lAO82q(miBl(1}er+3Tkk8^jg zCivisN{dnj|AD>;iVqbLU!)L;*n&QbuNK4#KD6MI3UOv`=5}vxrgyPEc3}6r-_L%( z-_Liyv-4y3?aI;%8BGJcY2Y+Sw4^omB-dqjei%FmviRyCK1T4dcxDw`xpbd1{rRD1 zKD_ec_pkr>!G+qlAH9~2bCaA_tJkg(S=_2#{FNeW+x^(hj=HuDhG<&J3+%RwDyQ@+ za^2u5{mmeBZGC=Uubt~y$dAz6;>r>*+i@cZ=a$-*8R-j1Up7Ol;poq~1b{a3s9tvb z7`f02ywljf}^Zd*6RsEIa6}=TATK zrz!wR5JpY%bREAL_!fe3!-x1B>$8o_a1-k&i=B#r+KmZZHy%I@U*0Uc@_T@i$4TEU^$Sv>z|!Y%QJjT z7(@4`>>p3rXBGAn3j1`NqbWR{*Q1hgr?F?2^~phB3_6@|3nLVGko*lsZ8I5^+ zC;oF^&&&8Votu(=;q&-+bRJGj`Tp()$=XWVPt?A@&NmeHzf;~^-+KL*!k&MSLJPzw zirJ>wARBqS(_TGOdug>|)D{f(f1=m}c79Y8=(e4HGZ^gOL3gLm0nUOYBwKh!!~R-e lAhoMcGw|OSgab!R;-`1`U9kJ9PSWqW+f030Fmv{2;a_NQnA`vW literal 0 Hc-jL100001 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, }; -- 2.47.2