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

Message ID 1497934098-15995-1-git-send-email-sumit.semwal@linaro.org
State New
Headers show

Commit Message

Sumit Semwal June 20, 2017, 4:48 a.m.
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@linaro.org>

---
 tools/testing/selftests/lib/bitmap.sh | 4 ++++
 tools/testing/selftests/lib/printf.sh | 4 ++++
 2 files changed, 8 insertions(+)

-- 
2.7.4

Comments

Shuah Khan June 23, 2017, 4:11 p.m. | #1
Hi Sumit,

On 06/19/2017 10:48 PM, Sumit Semwal wrote:
> 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.

---------------------------------------------------------------------------

Please note that the patch version details don't belong in the commit log.
I edited it before applying to linux-kselftest next. Please make sure to
add such information in the right place in future patches.

> 

> Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>


Applied to linux-ksefltest next for 4.13-rc1

thanks,
-- Shuah

> ---

>  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

>

Patch

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