File: 11quick.sh

package info (click to toggle)
module-init-tools 3.12-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 4,296 kB
  • ctags: 1,264
  • sloc: sh: 7,010; ansic: 6,584; makefile: 1,114
file content (78 lines) | stat: -rwxr-xr-x 3,063 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#! /bin/sh
# Check that -A works correctly.

for ENDIAN in $TEST_ENDIAN; do
for BITNESS in $TEST_BITS; do

rm -rf tests/tmp/*

# Copy modules instead of linking, so we can play with their timestamps.
MODULE_DIR=tests/tmp/lib/modules/$MODTEST_UNAME
mkdir -p $MODULE_DIR
cp tests/data/$BITNESS$ENDIAN/normal/export_dep-$BITNESS.ko \
   tests/data/$BITNESS$ENDIAN/normal/noexport_dep-$BITNESS.ko \
   tests/data/$BITNESS$ENDIAN/normal/export_nodep-$BITNESS.ko \
   tests/data/$BITNESS$ENDIAN/normal/noexport_nodep-$BITNESS.ko \
   tests/data/$BITNESS$ENDIAN/normal/noexport_doubledep-$BITNESS.ko \
   $MODULE_DIR

# First time, there is no modules.dep, so it will be generated.
# Expect no output.
[ "`depmod -A 2>&1`" = "" ]

# Check modules.dep results: expect 5 lines
[ `grep -vc '^#' < $MODULE_DIR/modules.dep` = 5 ]

[ "`grep -w export_dep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "export_dep-$BITNESS.ko: export_nodep-$BITNESS.ko" ]
[ "`grep -w noexport_dep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "noexport_dep-$BITNESS.ko: export_nodep-$BITNESS.ko" ]
[ "`grep -w export_nodep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "export_nodep-$BITNESS.ko:" ]
[ "`grep -w noexport_nodep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "noexport_nodep-$BITNESS.ko:" ]
[ "`grep -w noexport_doubledep-$BITNESS.ko: $MODULE_DIR/modules.dep`" = "noexport_doubledep-$BITNESS.ko: export_dep-$BITNESS.ko export_nodep-$BITNESS.ko" ]

# Check modules.symbols results: expect 3 lines
[ `grep -vc '^#' < $MODULE_DIR/modules.symbols` = 3 ]

[ "`grep -w symbol:exported1 $MODULE_DIR/modules.symbols`" = "alias symbol:exported1 export_nodep_$BITNESS" ]
[ "`grep -w symbol:exported2 $MODULE_DIR/modules.symbols`" = "alias symbol:exported2 export_nodep_$BITNESS" ]
[ "`grep -w symbol:exported3 $MODULE_DIR/modules.symbols`" = "alias symbol:exported3 export_dep_$BITNESS" ]

cp $MODULE_DIR/modules.dep $MODULE_DIR/modules.dep.old
cp $MODULE_DIR/modules.symbols $MODULE_DIR/modules.symbols.old

# Now, second run should do nothing.
cp /dev/null $MODULE_DIR/modules.dep
cp /dev/null $MODULE_DIR/modules.symbols
[ "`depmod -A 2>&1`" = "" ]
diff -u /dev/null $MODULE_DIR/modules.dep
diff -u /dev/null $MODULE_DIR/modules.symbols

# Touch a directory, nothing.
sleep 1
touch $MODULE_DIR

[ "`depmod -A 2>&1`" = "" ]
diff -u /dev/null $MODULE_DIR/modules.dep
diff -u /dev/null $MODULE_DIR/modules.symbols

# Touch a non-module, nothing.
echo "Test" > $MODULE_DIR/README
[ "`depmod -A 2>&1`" = "" ]
diff -u /dev/null $MODULE_DIR/modules.dep
diff -u /dev/null $MODULE_DIR/modules.symbols

# Touch a module, wham.
touch $MODULE_DIR/noexport_doubledep-$BITNESS.ko
[ "`depmod -A 2>&1`" = "" ]
diff -u $MODULE_DIR/modules.dep.old $MODULE_DIR/modules.dep
diff -u $MODULE_DIR/modules.symbols.old $MODULE_DIR/modules.symbols

# Deleting a module does nothing.
cp /dev/null $MODULE_DIR/modules.dep
cp /dev/null $MODULE_DIR/modules.symbols
rm $MODULE_DIR/noexport_doubledep-$BITNESS.ko
[ "`depmod -A 2>&1`" = "" ]
diff -u /dev/null $MODULE_DIR/modules.dep
diff -u /dev/null $MODULE_DIR/modules.symbols

done
done