Tizen 2.0 Release
[external/module-init-tools.git] / tests / test-depmod / 12compressed.sh
1 #! /bin/sh
2 # Check that compressed modules work correctly; based on 02simple.sh
3
4 [ -n "$CONFIG_HAVE_ZLIB" ] || exit 0
5
6 for ENDIAN in $TEST_ENDIAN; do
7 for BITNESS in $TEST_BITS; do
8
9 rm -rf tests/tmp/*
10
11 # Copy modules instead of linking, so we can compress them
12 MODULE_DIR=tests/tmp/lib/modules/$MODTEST_UNAME
13 mkdir -p $MODULE_DIR
14 cp tests/data/$BITNESS$ENDIAN/normal/export_dep-$BITNESS.ko \
15    tests/data/$BITNESS$ENDIAN/normal/noexport_dep-$BITNESS.ko \
16    tests/data/$BITNESS$ENDIAN/normal/export_nodep-$BITNESS.ko \
17    tests/data/$BITNESS$ENDIAN/normal/noexport_nodep-$BITNESS.ko \
18    tests/data/$BITNESS$ENDIAN/normal/noexport_doubledep-$BITNESS.ko \
19    $MODULE_DIR
20 gzip `find $MODULE_DIR -name '*.ko'`
21
22 # First time, there is no modules.dep, so it will be generated.
23 # Expect no output.
24 [ "`depmod -A 2>&1`" = "" ]
25
26 # Check modules.dep results: expect 5 lines
27 [ `grep -vc '^#' < $MODULE_DIR/modules.dep` = 5 ]
28
29 [ "`grep -w export_dep-$BITNESS.ko.gz: $MODULE_DIR/modules.dep`" = "export_dep-$BITNESS.ko.gz: export_nodep-$BITNESS.ko.gz" ]
30 [ "`grep -w noexport_dep-$BITNESS.ko.gz: $MODULE_DIR/modules.dep`" = "noexport_dep-$BITNESS.ko.gz: export_nodep-$BITNESS.ko.gz" ]
31 [ "`grep -w export_nodep-$BITNESS.ko.gz: $MODULE_DIR/modules.dep`" = "export_nodep-$BITNESS.ko.gz:" ]
32 [ "`grep -w noexport_nodep-$BITNESS.ko.gz: $MODULE_DIR/modules.dep`" = "noexport_nodep-$BITNESS.ko.gz:" ]
33 [ "`grep -w noexport_doubledep-$BITNESS.ko.gz: $MODULE_DIR/modules.dep`" = "noexport_doubledep-$BITNESS.ko.gz: export_dep-$BITNESS.ko.gz export_nodep-$BITNESS.ko.gz" ]
34
35 # Check modules.symbols results: expect 3 lines
36 [ `grep -vc '^#' < $MODULE_DIR/modules.symbols` = 3 ]
37
38 [ "`grep -w symbol:exported1 $MODULE_DIR/modules.symbols`" = "alias symbol:exported1 export_nodep_$BITNESS" ]
39 [ "`grep -w symbol:exported2 $MODULE_DIR/modules.symbols`" = "alias symbol:exported2 export_nodep_$BITNESS" ]
40 [ "`grep -w symbol:exported3 $MODULE_DIR/modules.symbols`" = "alias symbol:exported3 export_dep_$BITNESS" ]
41
42 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
43 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
44
45 # Synonyms
46 [ "`depmod $MODTEST_UNAME`" = "" ]
47 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
48 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
49 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
50 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
51
52 [ "`depmod -a`" = "" ]
53 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
54 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
55 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
56 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
57
58 [ "`depmod -a $MODTEST_UNAME`" = "" ]
59 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
60 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
61 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
62 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
63
64 [ "`depmod -A`" = "" ]
65 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
66 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
67 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
68 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
69
70 [ "`depmod -A $MODTEST_UNAME`" = "" ]
71 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
72 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
73 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
74 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
75
76 [ "`depmod -e -A`" = "" ]
77 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
78 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
79 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
80 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
81
82 [ "`depmod -e -A $MODTEST_VERSION`" = "" ]
83 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
84 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
85 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
86 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
87
88 [ "`depmod --all`" = "" ]
89 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
90 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
91 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
92 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
93
94 [ "`depmod --quick`" = "" ]
95 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
96 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
97 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
98 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
99
100 [ "`depmod -e --quick`" = "" ]
101 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
102 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
103 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
104 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
105
106 [ "`depmod -e --quick $MODTEST_VERSION`" = "" ]
107 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
108 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
109 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
110 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
111
112 [ "`depmod --errsyms --quick`" = "" ]
113 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
114 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
115 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
116 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
117
118 [ "`depmod --errsyms --quick $MODTEST_VERSION`" = "" ]
119 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
120 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
121 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
122 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
123
124 # Combined should form stdout versions.
125 grep -vh '^#' $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.symbols.old > $MODULE_DIR/modules.all.old
126
127 # Stdout versions.
128 depmod -n | grep -v '^#' > $MODULE_DIR/modules.all
129 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
130 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
131
132 depmod -a -n | grep -v '^#' > $MODULE_DIR/modules.all
133 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
134 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
135
136 depmod -n -a $MODTEST_VERSION | grep -v '^#' > $MODULE_DIR/modules.all
137 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
138 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
139
140 depmod -e -n -A $MODTEST_VERSION | grep -v '^#' > $MODULE_DIR/modules.all
141 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
142 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
143
144 done
145 done