modprobe: remove support for renaming modules
[mit.git] / tests / test-modprobe / 03deps.sh
blob24325365547e53bc152d4a09ecde0235eff54cc8
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 # Insertion
29 SIZE_NOEXPORT_NODEP=`wc -c < tests/data/$BITNESS/normal/noexport_nodep-$BITNESS.ko`
30 SIZE_EXPORT_NODEP=`wc -c < tests/data/$BITNESS/normal/export_nodep-$BITNESS.ko`
31 SIZE_NOEXPORT_DEP=`wc -c < tests/data/$BITNESS/normal/noexport_dep-$BITNESS.ko`
32 SIZE_EXPORT_DEP=`wc -c < tests/data/$BITNESS/normal/export_dep-$BITNESS.ko`
33 SIZE_NOEXPORT_DOUBLEDEP=`wc -c < tests/data/$BITNESS/normal/noexport_doubledep-$BITNESS.ko`
35 # Empty /sys/module/
36 mkdir -p tests/tmp/sys/module
38 [ "`modprobe noexport_nodep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_NOEXPORT_NODEP " ]
39 [ "`modprobe noexport_nodep-$BITNESS OPTIONS 2>&1`" = "INIT_MODULE: $SIZE_NOEXPORT_NODEP OPTIONS" ]
41 [ "`modprobe export_nodep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP " ]
42 [ "`modprobe export_nodep-$BITNESS OPTIONS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP OPTIONS" ]
44 [ "`modprobe noexport_dep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP
45 INIT_MODULE: $SIZE_NOEXPORT_DEP " ]
46 [ "`modprobe noexport_dep-$BITNESS OPTIONS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP
47 INIT_MODULE: $SIZE_NOEXPORT_DEP OPTIONS" ]
49 [ "`modprobe export_dep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP
50 INIT_MODULE: $SIZE_EXPORT_DEP " ]
51 [ "`modprobe export_dep-$BITNESS OPTIONS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP
52 INIT_MODULE: $SIZE_EXPORT_DEP OPTIONS" ]
54 [ "`modprobe noexport_doubledep-$BITNESS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP
55 INIT_MODULE: $SIZE_EXPORT_DEP
56 INIT_MODULE: $SIZE_NOEXPORT_DOUBLEDEP " ]
57 [ "`modprobe noexport_doubledep-$BITNESS OPTIONS 2>&1`" = "INIT_MODULE: $SIZE_EXPORT_NODEP
58 INIT_MODULE: $SIZE_EXPORT_DEP
59 INIT_MODULE: $SIZE_NOEXPORT_DOUBLEDEP OPTIONS" ]
61 # Now make a fake /sys/module structure for the test
62 mkdir -p tests/tmp/sys/module
63 mkdir -p tests/tmp/sys/module/noexport_nodep_$BITNESS
64 mkdir -p tests/tmp/sys/module/export_nodep_$BITNESS
65 mkdir -p tests/tmp/sys/module/noexport_dep_$BITNESS
66 mkdir -p tests/tmp/sys/module/export_dep_$BITNESS
67 mkdir -p tests/tmp/sys/module/noexport_doubledep_$BITNESS
68 echo live > tests/tmp/sys/module/noexport_nodep_$BITNESS/initstate
69 echo live > tests/tmp/sys/module/export_nodep_$BITNESS/initstate
70 echo live > tests/tmp/sys/module/noexport_dep_$BITNESS/initstate
71 echo live > tests/tmp/sys/module/export_dep_$BITNESS/initstate
72 echo live > tests/tmp/sys/module/noexport_doubledep_$BITNESS/initstate
74 # Removal
75 [ "`modprobe -r noexport_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_nodep_$BITNESS EXCL " ]
76 [ "`modprobe -r export_nodep-$BITNESS 2>&1`" = "DELETE_MODULE: export_nodep_$BITNESS EXCL " ]
77 [ "`modprobe -r noexport_dep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_dep_$BITNESS EXCL
78 DELETE_MODULE: export_nodep_$BITNESS EXCL " ]
79 [ "`modprobe -r export_dep-$BITNESS 2>&1`" = "DELETE_MODULE: export_dep_$BITNESS EXCL
80 DELETE_MODULE: export_nodep_$BITNESS EXCL " ]
81 [ "`modprobe -r noexport_doubledep-$BITNESS 2>&1`" = "DELETE_MODULE: noexport_doubledep_$BITNESS EXCL
82 DELETE_MODULE: export_dep_$BITNESS EXCL
83 DELETE_MODULE: export_nodep_$BITNESS EXCL " ]