modindex: getopt_long returns int not char (fix ppc64 bug)
[mit.git] / tests / test-depmod / 16specific-modules.sh
blobcb3cc81164291f6cae307854f880cc4c5c4087c1
1 #! /bin/sh
2 # Test depmod with specific names on the cmdline (bug report from Andrew Snare)
4 for ENDIAN in -be -le; do
5 for BITNESS in 32 64; do
7 rm -rf tests/tmp/*
9 # Create inputs
10 MODULE_DIR=tests/tmp/lib/modules/$MODTEST_UNAME
11 mkdir -p $MODULE_DIR
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
19 ALL="/lib/modules/$MODTEST_UNAME/export_dep-$BITNESS.ko /lib/modules/$MODTEST_UNAME/noexport_dep-$BITNESS.ko /lib/modules/$MODTEST_UNAME/noexport_nodep-$BITNESS.ko /lib/modules/$MODTEST_UNAME/export_nodep-$BITNESS.ko /lib/modules/$MODTEST_UNAME/noexport_doubledep-$BITNESS.ko"
21 # Expect no output.
22 [ "`depmod $ALL 2>&1`" = "" ]
24 # Check modules.dep results: expect 5 lines
25 [ `grep -vc '^#' < $MODULE_DIR/modules.dep` = 5 ]
27 [ "`grep -w export_dep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "export_dep-$BITNESS.ko: export_nodep-$BITNESS.ko" ]
28 [ "`grep -w noexport_dep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "noexport_dep-$BITNESS.ko: export_nodep-$BITNESS.ko" ]
29 [ "`grep -w export_nodep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "export_nodep-$BITNESS.ko:" ]
30 [ "`grep -w noexport_nodep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "noexport_nodep-$BITNESS.ko:" ]
31 [ "`grep -w noexport_doubledep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "noexport_doubledep-$BITNESS.ko: export_dep-$BITNESS.ko export_nodep-$BITNESS.ko" ]
33 # Check modules.symbols results: expect 3 lines
34 [ `grep -vc '^#' < $MODULE_DIR/modules.symbols` = 3 ]
36 [ "`grep -w symbol:exported1 $MODULE_DIR/modules.symbols`" = "alias symbol:exported1 export_nodep_$BITNESS" ]
37 [ "`grep -w symbol:exported2 $MODULE_DIR/modules.symbols`" = "alias symbol:exported2 export_nodep_$BITNESS" ]
38 [ "`grep -w symbol:exported3 $MODULE_DIR/modules.symbols`" = "alias symbol:exported3 export_dep_$BITNESS" ]
40 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
41 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
43 # Synonyms
44 [ "`depmod $MODTEST_UNAME $ALL`" = "" ]
45 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
46 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
47 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
48 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
50 [ "`depmod -e $ALL`" = "" ]
51 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
52 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
53 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
54 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
56 [ "`depmod -e $MODTEST_VERSION $ALL`" = "" ]
57 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
58 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
59 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
60 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
62 [ "`depmod --errsyms $ALL`" = "" ]
63 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
64 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
65 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
66 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
68 [ "`depmod --errsyms $MODTEST_VERSION $ALL`" = "" ]
69 diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep >/dev/null
70 mv $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
71 diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols >/dev/null
72 mv $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old
74 # Combined should form stdout versions.
75 grep -vh '^#' $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.symbols.old > $MODULE_DIR/modules.all.old
77 # Stdout versions.
78 depmod -n $ALL | grep -v '^#' > $MODULE_DIR/modules.all
79 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
80 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
82 depmod -n $MODTEST_VERSION $ALL | grep -v '^#' > $MODULE_DIR/modules.all
83 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
84 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
86 depmod -e -n $MODTEST_VERSION $ALL | grep -v '^#' > $MODULE_DIR/modules.all
87 diff -u $MODULE_DIR/modules.all.old $MODULE_DIR/modules.all >/dev/null
88 mv $MODULE_DIR/modules.all $MODULE_DIR/modules.all.old
90 done
91 done