selftests: lib: return Kselftest Skip code for skipped tests
authorShuah Khan (Samsung OSG) <shuah@kernel.org>
Fri, 4 May 2018 16:11:52 +0000 (10:11 -0600)
committerShuah Khan (Samsung OSG) <shuah@kernel.org>
Wed, 30 May 2018 21:29:06 +0000 (15:29 -0600)
When lib test(s) is skipped because of unmet dependencies and/or
unsupported configuration, it returns non-zero value hich is treated
as a fail by the Kselftest framework. This leads to false negative result
even when the test could not be run.

Change it to return kselftest skip code when a test gets skipped to
clearly report that the test could not be run.

Kselftest framework SKIP code is 4 and the framework prints appropriate
messages to indicate that the test is skipped.

Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
tools/testing/selftests/lib/bitmap.sh
tools/testing/selftests/lib/prime_numbers.sh
tools/testing/selftests/lib/printf.sh

index 4dee4d2..5a90006 100755 (executable)
@@ -1,9 +1,13 @@
 #!/bin/sh
 # SPDX-License-Identifier: GPL-2.0
+
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 # Runs bitmap infrastructure tests using test_bitmap kernel module
 if ! /sbin/modprobe -q -n test_bitmap; then
-       echo "bitmap: [SKIP]"
-       exit 77
+       echo "bitmap: module test_bitmap is not found [SKIP]"
+       exit $ksft_skip
 fi
 
 if /sbin/modprobe -q test_bitmap; then
index b363994..76602d4 100755 (executable)
@@ -2,9 +2,12 @@
 # SPDX-License-Identifier: GPL-2.0
 # Checks fast/slow prime_number generation for inconsistencies
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 if ! /sbin/modprobe -q -r prime_numbers; then
-       echo "prime_numbers: [SKIP]"
-       exit 77
+       echo "prime_numbers: module prime_numbers is not found [SKIP]"
+       exit $ksft_skip
 fi
 
 if /sbin/modprobe -q prime_numbers selftest=65536; then
index 0c37377..45a23e2 100755 (executable)
@@ -1,9 +1,13 @@
 #!/bin/sh
 # SPDX-License-Identifier: GPL-2.0
 # Runs printf infrastructure using test_printf kernel module
+
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 if ! /sbin/modprobe -q -n test_printf; then
-       echo "printf: [SKIP]"
-       exit 77
+       echo "printf: module test_printf is not found [SKIP]"
+       exit $ksft_skip
 fi
 
 if /sbin/modprobe -q test_printf; then