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: default avatarShuah Khan (Samsung OSG) <shuah@kernel.org>
parent 1f0ea958
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include "../kselftest.h"
static char longpath[2 * PATH_MAX] = ""; static char longpath[2 * PATH_MAX] = "";
static char *envp[] = { "IN_TEST=yes", NULL, NULL }; static char *envp[] = { "IN_TEST=yes", NULL, NULL };
static char *argv[] = { "execveat", "99", NULL }; static char *argv[] = { "execveat", "99", NULL };
...@@ -249,8 +251,8 @@ static int run_tests(void) ...@@ -249,8 +251,8 @@ static int run_tests(void)
errno = 0; errno = 0;
execveat_(-1, NULL, NULL, NULL, 0); execveat_(-1, NULL, NULL, NULL, 0);
if (errno == ENOSYS) { if (errno == ENOSYS) {
printf("[FAIL] ENOSYS calling execveat - no kernel support?\n"); ksft_exit_skip(
return 1; "ENOSYS calling execveat - no kernel support?\n");
} }
/* Change file position to confirm it doesn't affect anything */ /* Change file position to confirm it doesn't affect anything */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment