2 # Test module dependencies.
9 MODULE_DIR
=tests
/tmp
/lib
/modules
/$MODTEST_UNAME
11 ln tests
/data
/$BITNESS/normal
/export_dep-
$BITNESS.ko \
12 tests
/data
/$BITNESS/normal
/noexport_dep-
$BITNESS.ko \
13 tests
/data
/$BITNESS/normal
/export_nodep-
$BITNESS.ko \
14 tests
/data
/$BITNESS/normal
/noexport_nodep-
$BITNESS.ko \
15 tests
/data
/$BITNESS/normal
/noexport_doubledep-
$BITNESS.ko \
18 # Now create modules.dep
19 cat > $MODULE_DIR/modules.dep
<<EOF
20 # Should handle comments.
21 noexport_nodep-$BITNESS.ko:
22 noexport_doubledep-$BITNESS.ko: export_dep-$BITNESS.ko export_nodep-$BITNESS.ko
23 noexport_dep-$BITNESS.ko: export_nodep-$BITNESS.ko
24 export_nodep-$BITNESS.ko:
25 export_dep-$BITNESS.ko: export_nodep-$BITNESS.ko
28 [ "`modprobe -v -n noexport_nodep-$BITNESS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/noexport_nodep-$BITNESS.ko " ]
29 [ "`modprobe -v -n noexport_nodep-$BITNESS OPTIONS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/noexport_nodep-$BITNESS.ko OPTIONS" ]
31 [ "`modprobe -v -n export_nodep-$BITNESS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko " ]
32 [ "`modprobe -v -n export_nodep-$BITNESS OPTIONS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko OPTIONS" ]
34 [ "`modprobe -v -n noexport_dep-$BITNESS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko
35 insmod /lib/modules/$MODTEST_UNAME/noexport_dep-$BITNESS.ko " ]
36 [ "`modprobe -v -n noexport_dep-$BITNESS OPTIONS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko
37 insmod /lib/modules/$MODTEST_UNAME/noexport_dep-$BITNESS.ko OPTIONS" ]
39 [ "`modprobe -v -n export_dep-$BITNESS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko
40 insmod /lib/modules/$MODTEST_UNAME/export_dep-$BITNESS.ko " ]
41 [ "`modprobe -v -n export_dep-$BITNESS OPTIONS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko
42 insmod /lib/modules/$MODTEST_UNAME/export_dep-$BITNESS.ko OPTIONS" ]
44 [ "`modprobe -v -n noexport_doubledep-$BITNESS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko
45 insmod /lib/modules/$MODTEST_UNAME/export_dep-$BITNESS.ko
46 insmod /lib/modules/$MODTEST_UNAME/noexport_doubledep-$BITNESS.ko " ]
47 [ "`modprobe -v -n noexport_doubledep-$BITNESS OPTIONS 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko
48 insmod /lib/modules/$MODTEST_UNAME/export_dep-$BITNESS.ko
49 insmod /lib/modules/$MODTEST_UNAME/noexport_doubledep-$BITNESS.ko OPTIONS" ]
51 # Test alias and options resolution
52 mkdir
-p tests
/tmp
/etc
/modprobe.d
53 echo "alias foo noexport_doubledep-$BITNESS" > tests
/tmp
/etc
/modprobe.d
/modprobe.conf
54 echo "options noexport_doubledep-$BITNESS OPTIONS" >> tests
/tmp
/etc
/modprobe.d
/modprobe.conf
55 [ "`modprobe -v -n foo 2>&1`" = "insmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko
56 insmod /lib/modules/$MODTEST_UNAME/export_dep-$BITNESS.ko
57 insmod /lib/modules/$MODTEST_UNAME/noexport_doubledep-$BITNESS.ko OPTIONS" ]
59 # Now make a fake /sys/module structure for the test
60 mkdir
-p tests
/tmp
/sys
/module
61 mkdir
-p tests
/tmp
/sys
/module
/noexport_nodep_
$BITNESS
62 mkdir
-p tests
/tmp
/sys
/module
/noexport_dep_
$BITNESS
63 mkdir
-p tests
/tmp
/sys
/module
/export_nodep_
$BITNESS
64 mkdir
-p tests
/tmp
/sys
/module
/export_dep_
$BITNESS
65 mkdir
-p tests
/tmp
/sys
/module
/noexport_doubledep_
$BITNESS
66 echo live
> tests
/tmp
/sys
/module
/noexport_nodep_
$BITNESS/initstate
67 echo live
> tests
/tmp
/sys
/module
/noexport_dep_
$BITNESS/initstate
68 echo live
> tests
/tmp
/sys
/module
/export_nodep_
$BITNESS/initstate
69 echo live
> tests
/tmp
/sys
/module
/export_dep_
$BITNESS/initstate
70 echo live
> tests
/tmp
/sys
/module
/noexport_doubledep_
$BITNESS/initstate
73 [ "`modprobe -v -n -r noexport_nodep-$BITNESS 2>&1`" = "rmmod /lib/modules/$MODTEST_UNAME/noexport_nodep-$BITNESS.ko" ]
74 [ "`modprobe -v -n -r export_nodep-$BITNESS 2>&1`" = "rmmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko" ]
75 [ "`modprobe -v -n -r noexport_dep-$BITNESS 2>&1`" = "rmmod /lib/modules/$MODTEST_UNAME/noexport_dep-$BITNESS.ko
76 rmmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko" ]
77 [ "`modprobe -v -n -r export_dep-$BITNESS 2>&1`" = "rmmod /lib/modules/$MODTEST_UNAME/export_dep-$BITNESS.ko
78 rmmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko" ]
79 [ "`modprobe -v -n -r noexport_doubledep-$BITNESS 2>&1`" = "rmmod /lib/modules/$MODTEST_UNAME/noexport_doubledep-$BITNESS.ko
80 rmmod /lib/modules/$MODTEST_UNAME/export_dep-$BITNESS.ko
81 rmmod /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko" ]