diff options
author | Michal Marek <mmarek@suse.cz> | 2009-06-27 04:02:22 -0400 |
---|---|---|
committer | Jon Masters <jcm@jonmasters.org> | 2009-06-27 04:02:22 -0400 |
commit | f2668710e9e97331d942f9d3163e2f2eaf1169ef (patch) | |
tree | 084e65063da83105d5205550d8f056b27bc0304e | |
parent | 01b6fcda4d3154fddc4a40fb358c10c7dafd3555 (diff) | |
download | module-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-- | CODING | 4 | ||||
-rwxr-xr-x | tests/runtests | 30 | ||||
-rwxr-xr-x | tests/test-depmod/02simple.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/04maps.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/05loop.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/06undefined.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/07complex.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/08basedir.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/09alias.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/11quick.sh | 7 | ||||
-rwxr-xr-x | tests/test-depmod/12compressed.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/13compressed-maps.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/14updates.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/15symlink.sh | 4 | ||||
-rwxr-xr-x | tests/test-depmod/16specific-modules.sh | 4 | ||||
-rwxr-xr-x | tests/test-modinfo/02all.sh | 4 | ||||
-rwxr-xr-x | tests/test-modinfo/03field.sh | 4 | ||||
-rwxr-xr-x | tests/test-modinfo/04compressed.sh | 4 | ||||
-rwxr-xr-x | tests/test-modprobe/06rename.sh | 8 | ||||
-rwxr-xr-x | tests/test-modprobe/11stripversions.sh | 6 | ||||
-rwxr-xr-x | tests/test-modprobe/17compressed.sh | 6 |
21 files changed, 82 insertions, 39 deletions
@@ -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 |