OSDN Git Service

selftests: exec: return Kselftest Skip code for skipped tests
authorShuah Khan (Samsung OSG) <shuah@kernel.org>
Thu, 3 May 2018 00:24:42 +0000 (18:24 -0600)
committerShuah Khan (Samsung OSG) <shuah@kernel.org>
Wed, 30 May 2018 21:21:52 +0000 (15:21 -0600)
When execveat 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 kernel doesn't support execveat.

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

index 67cd459..47cbf54 100644 (file)
@@ -20,6 +20,8 @@
 #include <string.h>
 #include <unistd.h>
 
+#include "../kselftest.h"
+
 static char longpath[2 * PATH_MAX] = "";
 static char *envp[] = { "IN_TEST=yes", NULL, NULL };
 static char *argv[] = { "execveat", "99", NULL };
@@ -249,8 +251,8 @@ static int run_tests(void)
        errno = 0;
        execveat_(-1, NULL, NULL, NULL, 0);
        if (errno == ENOSYS) {
-               printf("[FAIL] ENOSYS calling execveat - no kernel support?\n");
-               return 1;
+               ksft_exit_skip(
+                       "ENOSYS calling execveat - no kernel support?\n");
        }
 
        /* Change file position to confirm it doesn't affect anything */