OSDN Git Service

selftests: membarrier: return Kselftest Skip code for skipped tests
authorShuah Khan (Samsung OSG) <shuah@kernel.org>
Fri, 4 May 2018 18:15:52 +0000 (12:15 -0600)
committerShuah Khan (Samsung OSG) <shuah@kernel.org>
Wed, 30 May 2018 21:29:06 +0000 (15:29 -0600)
When membarrier test is skipped because of unmet dependencies and/or
unsupported configuration, it exits with error which 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.

Change it to use ksft_exit_skip() when the test is skipped.

Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
tools/testing/selftests/membarrier/membarrier_test.c

index 22bffd5..6793f8e 100644 (file)
@@ -293,10 +293,9 @@ static int test_membarrier_query(void)
                }
                ksft_exit_fail_msg("sys_membarrier() failed\n");
        }
-       if (!(ret & MEMBARRIER_CMD_GLOBAL)) {
-               ksft_test_result_fail("sys_membarrier() CMD_GLOBAL query failed\n");
-               ksft_exit_fail_msg("sys_membarrier is not supported.\n");
-       }
+       if (!(ret & MEMBARRIER_CMD_GLOBAL))
+               ksft_exit_skip(
+                       "sys_membarrier unsupported: CMD_GLOBAL not found.\n");
 
        ksft_test_result_pass("sys_membarrier available\n");
        return 0;