aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2009-06-27 04:02:22 -0400
committerJon Masters <jcm@jonmasters.org>2009-06-27 04:02:22 -0400
commitf2668710e9e97331d942f9d3163e2f2eaf1169ef (patch)
tree084e65063da83105d5205550d8f056b27bc0304e
parent01b6fcda4d3154fddc4a40fb358c10c7dafd3555 (diff)
downloadmodule-init-tools-f2668710e9e97331d942f9d3163e2f2eaf1169ef.tar.gz
testsuite: add option to only test a given endianess / bitness
To make it easier to test changes to the testsuite without a cross-compiler, add environment variables TEST_ENDIAN and TEST_BITS controlling which environment / bitness will be tested. All test run in all four modes. jcm: removed bad options handling test since it's no longer in testsuite. Signed-off-by: Michal Marek <mmarek@suse.cz> Signed-off-by: Jon Masters <jcm@jonmasters.org>
-rw-r--r--CODING4
-rwxr-xr-xtests/runtests30
-rwxr-xr-xtests/test-depmod/02simple.sh4
-rwxr-xr-xtests/test-depmod/04maps.sh4
-rwxr-xr-xtests/test-depmod/05loop.sh4
-rwxr-xr-xtests/test-depmod/06undefined.sh4
-rwxr-xr-xtests/test-depmod/07complex.sh4
-rwxr-xr-xtests/test-depmod/08basedir.sh4
-rwxr-xr-xtests/test-depmod/09alias.sh4
-rwxr-xr-xtests/test-depmod/11quick.sh7
-rwxr-xr-xtests/test-depmod/12compressed.sh4
-rwxr-xr-xtests/test-depmod/13compressed-maps.sh4
-rwxr-xr-xtests/test-depmod/14updates.sh4
-rwxr-xr-xtests/test-depmod/15symlink.sh4
-rwxr-xr-xtests/test-depmod/16specific-modules.sh4
-rwxr-xr-xtests/test-modinfo/02all.sh4
-rwxr-xr-xtests/test-modinfo/03field.sh4
-rwxr-xr-xtests/test-modinfo/04compressed.sh4
-rwxr-xr-xtests/test-modprobe/06rename.sh8
-rwxr-xr-xtests/test-modprobe/11stripversions.sh6
-rwxr-xr-xtests/test-modprobe/17compressed.sh6
21 files changed, 82 insertions, 39 deletions
diff --git a/CODING b/CODING
index 0263b44..f5dec37 100644
--- a/CODING
+++ b/CODING
@@ -32,6 +32,10 @@ what the test is doing, use -vv, eg
./tests/runtests -vv 26blacklist.sh
+To only test a given endianess or bitness, use
+
+ TEST_ENDIAN=32 TEST_BITS=le ./tests/runtests
+
Each test is a shell script run with "-e": ie. if any command fails,
the test will fail. The path is set up with special test versions of
the utilities (and possibly valgrind wrappers), so just invoke
diff --git a/tests/runtests b/tests/runtests
index 0c7d7f3..e5c8184 100755
--- a/tests/runtests
+++ b/tests/runtests
@@ -9,6 +9,8 @@ usage()
echo " -v (or --verbose) prints each test as it is run"
echo " -vv (very verbose) traces test execution"
echo " --valgrind runs the test programs using the valgrind memory checker"
+ echo "The TEST_ENDIAN and TEST_BITS variables can be used to limit which"
+ echo "endianess (le, be) and bitness (32, 64) will be tested"
exit
}
@@ -83,6 +85,34 @@ if [ ! -e "tests/tmp" ]; then
mkdir tests/tmp
fi
+: ${TEST_ENDIAN:=-be -le}
+_tmp=
+for e in $TEST_ENDIAN; do
+ case $e in
+ -be | -le)
+ _tmp="$_tmp $e"
+ ;;
+ be | le)
+ _tmp="$_tmp -$e"
+ ;;
+ *)
+ echo "Unknown endian: $e, valid values are \"be\" and \"le\"" >&2
+ exit 1
+ esac
+done
+TEST_ENDIAN="$_tmp"
+
+: ${TEST_BITS:=32 64}
+for b in $TEST_BITS; do
+ case $b in
+ 32 | 64)
+ ;;
+ *)
+ echo "Unknown word size: $b, valid values are 32 and 64" >&2
+ exit 1
+ esac
+done
+
for config in --enable-zlib --disable-zlib; do
echo Building with $config...
diff --git a/tests/test-depmod/02simple.sh b/tests/test-depmod/02simple.sh
index d043351..718e058 100755
--- a/tests/test-depmod/02simple.sh
+++ b/tests/test-depmod/02simple.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Simple tests of generation of 32-bit and 64-bit modules.dep
-for ENDIAN in -be -le; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/04maps.sh b/tests/test-depmod/04maps.sh
index ef7cf52..8d30f8f 100755
--- a/tests/test-depmod/04maps.sh
+++ b/tests/test-depmod/04maps.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Test of generation of 32-bit and 64-bit maps
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/05loop.sh b/tests/test-depmod/05loop.sh
index aefd13d..a2c47e3 100755
--- a/tests/test-depmod/05loop.sh
+++ b/tests/test-depmod/05loop.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Loop detection test.
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/06undefined.sh b/tests/test-depmod/06undefined.sh
index 171e8cd..666358d 100755
--- a/tests/test-depmod/06undefined.sh
+++ b/tests/test-depmod/06undefined.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Check for undefined symbols.
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/07complex.sh b/tests/test-depmod/07complex.sh
index 2332229..aee0921 100755
--- a/tests/test-depmod/07complex.sh
+++ b/tests/test-depmod/07complex.sh
@@ -7,8 +7,8 @@
# D: B
# E:
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/08basedir.sh b/tests/test-depmod/08basedir.sh
index cf2e064..b013d3b 100755
--- a/tests/test-depmod/08basedir.sh
+++ b/tests/test-depmod/08basedir.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Simple tests of generation of 32-bit and 64-bit modules.dep with basedir
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/09alias.sh b/tests/test-depmod/09alias.sh
index 4cb040d..05741fc 100755
--- a/tests/test-depmod/09alias.sh
+++ b/tests/test-depmod/09alias.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Test alias generation.
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/11quick.sh b/tests/test-depmod/11quick.sh
index 44bfd82..8449373 100755
--- a/tests/test-depmod/11quick.sh
+++ b/tests/test-depmod/11quick.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Check that -A works correctly.
-ENDIAN=-le
-BITNESS=32
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
@@ -73,3 +73,6 @@ 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
diff --git a/tests/test-depmod/12compressed.sh b/tests/test-depmod/12compressed.sh
index 3f60cdb..696fd73 100755
--- a/tests/test-depmod/12compressed.sh
+++ b/tests/test-depmod/12compressed.sh
@@ -3,8 +3,8 @@
[ -n "$CONFIG_HAVE_ZLIB" ] || exit 0
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/13compressed-maps.sh b/tests/test-depmod/13compressed-maps.sh
index 3b48ea0..5f2a077 100755
--- a/tests/test-depmod/13compressed-maps.sh
+++ b/tests/test-depmod/13compressed-maps.sh
@@ -3,8 +3,8 @@
[ -n "$CONFIG_HAVE_ZLIB" ] || exit 0
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/14updates.sh b/tests/test-depmod/14updates.sh
index 5f29e03..f42bf77 100755
--- a/tests/test-depmod/14updates.sh
+++ b/tests/test-depmod/14updates.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Simple tests of generation of 32-bit and 64-bit modules.dep
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/15symlink.sh b/tests/test-depmod/15symlink.sh
index 539e12f..968f4fd 100755
--- a/tests/test-depmod/15symlink.sh
+++ b/tests/test-depmod/15symlink.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Test that we ignore symlinks.
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-depmod/16specific-modules.sh b/tests/test-depmod/16specific-modules.sh
index cb3cc81..13647ff 100755
--- a/tests/test-depmod/16specific-modules.sh
+++ b/tests/test-depmod/16specific-modules.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Test depmod with specific names on the cmdline (bug report from Andrew Snare)
-for ENDIAN in -be -le; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-modinfo/02all.sh b/tests/test-modinfo/02all.sh
index eee36fa..e98c7d6 100755
--- a/tests/test-modinfo/02all.sh
+++ b/tests/test-modinfo/02all.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Test modinfo extraction: works for *any* endiannes.
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-modinfo/03field.sh b/tests/test-modinfo/03field.sh
index 55bdb84..9649247 100755
--- a/tests/test-modinfo/03field.sh
+++ b/tests/test-modinfo/03field.sh
@@ -1,8 +1,8 @@
#! /bin/sh
# Test modinfo extraction: works for *any* endiannes.
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-modinfo/04compressed.sh b/tests/test-modinfo/04compressed.sh
index 2427367..afc0930 100755
--- a/tests/test-modinfo/04compressed.sh
+++ b/tests/test-modinfo/04compressed.sh
@@ -3,8 +3,8 @@
[ -n "$CONFIG_HAVE_ZLIB" ] || exit 0
-for ENDIAN in -le -be; do
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
diff --git a/tests/test-modprobe/06rename.sh b/tests/test-modprobe/06rename.sh
index 3b575d8..59b5f13 100755
--- a/tests/test-modprobe/06rename.sh
+++ b/tests/test-modprobe/06rename.sh
@@ -1,7 +1,8 @@
#! /bin/sh
# Test the module renaming code.
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
@@ -12,8 +13,8 @@ export MODTEST_DUMP_INIT
# Create inputs
MODULE_DIR=tests/tmp/lib/modules/$MODTEST_UNAME
mkdir -p $MODULE_DIR
-ln tests/data/$BITNESS/rename/rename-new-$BITNESS.ko \
- tests/data/$BITNESS/rename/rename-old-$BITNESS.ko \
+ln tests/data/$BITNESS$ENDIAN/rename/rename-new-$BITNESS.ko \
+ tests/data/$BITNESS$ENDIAN/rename/rename-old-$BITNESS.ko \
$MODULE_DIR
# Set up modules.dep file (neither has dependencies).
@@ -96,3 +97,4 @@ if strings tests/tmp/out | grep -q 'rename_new'; then exit 1; fi
strings tests/tmp/out | grep -q 'very_very_long_name'
done
+done
diff --git a/tests/test-modprobe/11stripversions.sh b/tests/test-modprobe/11stripversions.sh
index 754705b..1ad76ea 100755
--- a/tests/test-modprobe/11stripversions.sh
+++ b/tests/test-modprobe/11stripversions.sh
@@ -6,7 +6,8 @@ section_attributes()
readelf -W -S "$1" | cut -d\] -f2- | awk '{print $1 " " $7}' | grep -w -- "$2"
}
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
@@ -17,7 +18,7 @@ export MODTEST_DUMP_INIT
# Create inputs
MODULE_DIR=tests/tmp/lib/modules/$MODTEST_UNAME
mkdir -p $MODULE_DIR
-ln tests/data/$BITNESS/rename/rename-version-$BITNESS.ko \
+ln tests/data/$BITNESS$ENDIAN/rename/rename-version-$BITNESS.ko \
$MODULE_DIR
# Set up modules.dep file (neither has dependencies).
@@ -43,5 +44,6 @@ echo "/lib/modules/$MODTEST_UNAME/rename-version-$BITNESS.ko:" >> $MODULE_DIR/mo
[ "`section_attributes tests/tmp/out __vermagic`" = "__vermagic A" ]
done
+done
exit 0
diff --git a/tests/test-modprobe/17compressed.sh b/tests/test-modprobe/17compressed.sh
index e3c6fe2..da92036 100755
--- a/tests/test-modprobe/17compressed.sh
+++ b/tests/test-modprobe/17compressed.sh
@@ -3,14 +3,15 @@
[ -n "$CONFIG_HAVE_ZLIB" ] || exit 0
-for BITNESS in 32 64; do
+for ENDIAN in $TEST_ENDIAN; do
+for BITNESS in $TEST_BITS; do
rm -rf tests/tmp/*
# Copy modules instead of linking, so we can compress them
MODULE_DIR=tests/tmp/lib/modules/$MODTEST_UNAME
mkdir -p $MODULE_DIR
-cp tests/data/$BITNESS/normal/noexport_nodep-$BITNESS.ko \
+cp tests/data/$BITNESS$ENDIAN/normal/noexport_nodep-$BITNESS.ko \
$MODULE_DIR
gzip $MODULE_DIR/noexport_nodep-$BITNESS.ko
@@ -33,3 +34,4 @@ SIZE=`wc -c < tests/data/$BITNESS/normal/noexport_nodep-$BITNESS.ko`
[ "`modprobe noexport_nodep_$BITNESS foo=\"bar baz\" 2>&1`" = "INIT_MODULE: $SIZE foo=\"bar baz\"" ]
done
+done