selftests: efivarfs: return Kselftest Skip code for skipped tests
authorShuah Khan (Samsung OSG) <shuah@kernel.org>
Thu, 3 May 2018 00:11:20 +0000 (18:11 -0600)
committerShuah Khan (Samsung OSG) <shuah@kernel.org>
Wed, 30 May 2018 21:21:52 +0000 (15:21 -0600)
When efivarfs test is skipped because of unmet dependencies and/or
unsupported configuration, it returns 0 which is treated as a pass
by the Kselftest framework. This leads to false positive 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/efivarfs/efivarfs.sh

index c6d5790575ae341ef66727c0666b24f7afe6bd74..a47029a799d2c0b418c0b87c6eb9b250e3f8c80b 100755 (executable)
@@ -4,18 +4,21 @@
 efivarfs_mount=/sys/firmware/efi/efivars
 test_guid=210be57c-9849-4fc7-a635-e6382d1aec27
 
+# Kselftest framework requirement - SKIP code is 4.
+ksft_skip=4
+
 check_prereqs()
 {
        local msg="skip all tests:"
 
        if [ $UID != 0 ]; then
                echo $msg must be run as root >&2
-               exit 0
+               exit $ksft_skip
        fi
 
        if ! grep -q "^\S\+ $efivarfs_mount efivarfs" /proc/mounts; then
                echo $msg efivarfs is not mounted on $efivarfs_mount >&2
-               exit 0
+               exit $ksft_skip
        fi
 }