With older kernels, printf.sh and bitmap.sh fail because they can't find
the respective test modules they are looking for.

Use modprobe dry run to check for missing test_XXX module. Error out with
the same error code as prime_numbers.sh.

v3: As pointed out by Kees, modules can be in-built too, so use 'modprobe
 -q -n' to check presence of the module, instead of 'find ..'.
v2: Per Shuah's review, search for the module rather than do modprobe.

Signed-off-by: Sumit Semwal <sumit.sem...@linaro.org>
---
 tools/testing/selftests/lib/bitmap.sh | 4 ++++
 tools/testing/selftests/lib/printf.sh | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/tools/testing/selftests/lib/bitmap.sh 
b/tools/testing/selftests/lib/bitmap.sh
index 2da187b6ddad..b073c22a3435 100755
--- a/tools/testing/selftests/lib/bitmap.sh
+++ b/tools/testing/selftests/lib/bitmap.sh
@@ -1,5 +1,9 @@
 #!/bin/sh
 # Runs bitmap infrastructure tests using test_bitmap kernel module
+if ! /sbin/modprobe -q -n test_bitmap; then
+       echo "bitmap: [SKIP]"
+       exit 77
+fi
 
 if /sbin/modprobe -q test_bitmap; then
        /sbin/modprobe -q -r test_bitmap
diff --git a/tools/testing/selftests/lib/printf.sh 
b/tools/testing/selftests/lib/printf.sh
index 4fdc70fe6980..cbf3b124bd94 100755
--- a/tools/testing/selftests/lib/printf.sh
+++ b/tools/testing/selftests/lib/printf.sh
@@ -1,5 +1,9 @@
 #!/bin/sh
 # Runs printf infrastructure using test_printf kernel module
+if ! /sbin/modprobe -q -n test_printf; then
+       echo "printf: [SKIP]"
+       exit 77
+fi
 
 if /sbin/modprobe -q test_printf; then
        /sbin/modprobe -q -r test_printf
-- 
2.7.4

Reply via email to