Tizen 2.0 Release
[external/module-init-tools.git] / tests / test-depmod / 14updates.sh
1 #! /bin/sh
2 # Simple tests of generation of 32-bit and 64-bit modules.dep
3
4 for ENDIAN in $TEST_ENDIAN; do
5 for BITNESS in $TEST_BITS; do
6
7 rm -rf tests/tmp/*
8
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
18
19 # More inputs
20 mkdir -p $MODULE_DIR/updates
21 ln tests/data/$BITNESS$ENDIAN/normal/export_nodep-$BITNESS.ko \
22    $MODULE_DIR/updates
23
24 # First we try update which overrides, then not
25 for iter in override not-override; do
26
27 # Expect no output.
28 [ "`depmod 2>&1`" = "" ]
29
30 # Check modules.dep results: expect 5 lines
31 [ `grep -vc '^#' < $MODULE_DIR/modules.dep` = 5 ]
32
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:" ]
39
40 # Check modules.symbols results: expect 3 lines
41 [ `grep -vc '^#' < $MODULE_DIR/modules.symbols` = 3 ]
42
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" ]
46
47 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
48 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
49
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
56
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
62
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
68
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
74
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
80
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
86
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
92
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
98
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
104
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
110
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
116
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
122
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
128
129 # Combined should form stdout versions.
130 grep -vh '^#' $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.symbols.old > $MODULE_DIR/modules.all.old
131
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
136
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
140
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
144
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
148
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
153
154 done # 32/64-bit
155 done