doc: fix sgml errors
[mit.git] / tests / test-depmod / 14updates.sh
blobf42bf77cf29db9b32db83231566d6db989ccd061
1 #! /bin/sh
2 # Simple tests of generation of 32-bit and 64-bit modules.dep
4 for ENDIAN in $TEST_ENDIAN; do
5 for BITNESS in $TEST_BITS; do
7 rm -rf tests/tmp/*
9 # Create inputs
10 MODULE_DIR=tests/tmp/lib/modules/$MODTEST_UNAME
11 mkdir -p $MODULE_DIR/kernel
12 ln tests/data/$BITNESS$ENDIAN/normal/export_dep-$BITNESS.ko \
13 tests/data/$BITNESS$ENDIAN/normal/noexport_dep-$BITNESS.ko \
14 tests/data/$BITNESS$ENDIAN/normal/export_nodep-$BITNESS.ko \
15 tests/data/$BITNESS$ENDIAN/normal/noexport_nodep-$BITNESS.ko \
16 tests/data/$BITNESS$ENDIAN/normal/noexport_doubledep-$BITNESS.ko \
17 $MODULE_DIR/kernel
19 # More inputs
20 mkdir -p $MODULE_DIR/updates
21 ln tests/data/$BITNESS$ENDIAN/normal/export_nodep-$BITNESS.ko \
22 $MODULE_DIR/updates
24 # First we try update which overrides, then not
25 for iter in override not-override; do
27 # Expect no output.
28 [ "`depmod 2>&1`" = "" ]
30 # Check modules.dep results: expect 5 lines
31 [ `grep -vc '^#' < $MODULE_DIR/modules.dep` = 5 ]
33 # Other lines must refer to updates/, not kernels/ module.
34 [ "`grep -w export_dep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "kernel/export_dep-$BITNESS.ko: updates/export_nodep-$BITNESS.ko" ]
35 [ "`grep -w noexport_dep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "kernel/noexport_dep-$BITNESS.ko: updates/export_nodep-$BITNESS.ko" ]
36 [ "`grep -w noexport_nodep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "kernel/noexport_nodep-$BITNESS.ko:" ]
37 [ "`grep -w noexport_doubledep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "kernel/noexport_doubledep-$BITNESS.ko: kernel/export_dep-$BITNESS.ko updates/export_nodep-$BITNESS.ko" ]
38 [ "`grep -w export_nodep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "updates/export_nodep-$BITNESS.ko:" ]
40 # Check modules.symbols results: expect 3 lines
41 [ `grep -vc '^#' < $MODULE_DIR/modules.symbols` = 3 ]
43 [ "`grep -w symbol:exported1 $MODULE_DIR/modules.symbols`" = "alias symbol:exported1 export_nodep_$BITNESS" ]
44 [ "`grep -w symbol:exported2 $MODULE_DIR/modules.symbols`" = "alias symbol:exported2 export_nodep_$BITNESS" ]
45 [ "`grep -w symbol:exported3 $MODULE_DIR/modules.symbols`" = "alias symbol:exported3 export_dep_$BITNESS" ]
47 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
48 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
50 # Synonyms
51 [ "`depmod $MODTEST_UNAME`" = "" ]
52 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
53 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
54 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
55 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
57 [ "`depmod -a`" = "" ]
58 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
59 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
60 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
61 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
63 [ "`depmod -a $MODTEST_UNAME`" = "" ]
64 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
65 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
66 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
67 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
69 [ "`depmod -A`" = "" ]
70 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
71 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
72 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
73 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
75 [ "`depmod -A $MODTEST_UNAME`" = "" ]
76 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
77 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
78 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
79 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
81 [ "`depmod -e -A`" = "" ]
82 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
83 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
84 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
85 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
87 [ "`depmod -e -A $MODTEST_VERSION`" = "" ]
88 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
89 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
90 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
91 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
93 [ "`depmod --all`" = "" ]
94 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
95 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
96 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
97 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
99 [ "`depmod --quick`" = "" ]
100 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
101 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
102 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
103 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
105 [ "`depmod -e --quick`" = "" ]
106 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
107 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
108 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
109 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
111 [ "`depmod -e --quick $MODTEST_VERSION`" = "" ]
112 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
113 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
114 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
115 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
117 [ "`depmod --errsyms --quick`" = "" ]
118 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
119 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
120 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
121 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
123 [ "`depmod --errsyms --quick $MODTEST_VERSION`" = "" ]
124 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
125 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
126 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
127 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
129 # Combined should form stdout versions.
130 grep -vh '^#' $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.symbols.old > $MODULE_DIR/modules.all.old
132 # Stdout versions.
133 depmod -n | grep -v '^#' > $MODULE_DIR/modules.all
134 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
135 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
137 depmod -a -n | grep -v '^#' > $MODULE_DIR/modules.all
138 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
139 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
141 depmod -n -a $MODTEST_VERSION | grep -v '^#' > $MODULE_DIR/modules.all
142 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
143 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
145 depmod -e -n -A $MODTEST_VERSION | grep -v '^#' > $MODULE_DIR/modules.all
146 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
147 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
149 # For second run, don't override.
150 rm -f $MODULE_DIR/kernel/export_nodep-$BITNESS.ko
151 rm -f $MODULE_DIR/modules*
152 done # override
154 done # 32/64-bit
155 done