diff options
author | Shuah Khan (Samsung OSG) <shuah@kernel.org> | 2018-05-02 18:24:42 -0600 |
---|---|---|
committer | Shuah Khan (Samsung OSG) <shuah@kernel.org> | 2018-05-30 15:21:52 -0600 |
commit | 964224d7a861955a07080e3acff481f6ff772546 (patch) | |
tree | 5d5e83cdfbb3e0006806a45ab61e26424eb7d9f8 /tools/testing | |
parent | 1f0ea95853bd55a1812f2903b2f776853069f21f (diff) | |
download | linux-stable-964224d7a861955a07080e3acff481f6ff772546.tar.gz linux-stable-964224d7a861955a07080e3acff481f6ff772546.tar.bz2 linux-stable-964224d7a861955a07080e3acff481f6ff772546.zip |
selftests: exec: return Kselftest Skip code for skipped tests
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>
Diffstat (limited to 'tools/testing')
-rw-r--r-- | tools/testing/selftests/exec/execveat.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/testing/selftests/exec/execveat.c b/tools/testing/selftests/exec/execveat.c index 67cd4597db2b..47cbf54d0801 100644 --- a/tools/testing/selftests/exec/execveat.c +++ b/tools/testing/selftests/exec/execveat.c @@ -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 */ |