[PATCH v3] selftests: lib: Skip tests on missing test modules

From: Sumit Semwal
Date: Tue Jun 20 2017 - 00:48:34 EST


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.semwal@xxxxxxxxxx>
---
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