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>
This commit is contained in:
Родитель
1f0ea95853
Коммит
964224d7a8
|
@ -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)
|
||||||
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 */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче