modindex: getopt_long returns int not char (fix ppc64 bug)
[mit.git] / tests / test-modprobe / 13dryrun.sh
blob04552d6cb7bcc9159933073126a8fe8d4849ef90
1 #! /bin/sh
2 # Test module dependencies.
4 BITNESS=32
6 rm -rf tests/tmp/*
8 # Create inputs
9 MODULE_DIR=tests/tmp/lib/modules/$MODTEST_UNAME
10 mkdir -p $MODULE_DIR
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 \
16 $MODULE_DIR
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
26 EOF
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
72 # Removal
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" ]