]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests: filesystems: return Kselftest Skip code for skipped tests
authorShuah Khan (Samsung OSG) <shuah@kernel.org>
Thu, 3 May 2018 22:21:20 +0000 (16:21 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Aug 2018 05:47:40 +0000 (07:47 +0200)
[ Upstream commit 7357dcf2ef2811156fdf223a9a27f73528934e1f ]

When devpts_pts 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.

In another case, it returns pass for a skipped test reporting a false
postive.

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 test is skipped.

Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/testing/selftests/filesystems/devpts_pts.c

index b9055e974289480090cfe30aa89570fba9211df1..0f2d9f4279442c6e795d75ff865bb20d44c158f4 100644 (file)
@@ -11,6 +11,7 @@
 #include <sys/ioctl.h>
 #include <sys/mount.h>
 #include <sys/wait.h>
+#include "../kselftest.h"
 
 static bool terminal_dup2(int duplicate, int original)
 {
@@ -125,10 +126,12 @@ static int do_tiocgptpeer(char *ptmx, char *expected_procfd_contents)
                if (errno == EINVAL) {
                        fprintf(stderr, "TIOCGPTPEER is not supported. "
                                        "Skipping test.\n");
-                       fret = EXIT_SUCCESS;
+                       fret = KSFT_SKIP;
+               } else {
+                       fprintf(stderr,
+                               "Failed to perform TIOCGPTPEER ioctl\n");
+                       fret = EXIT_FAILURE;
                }
-
-               fprintf(stderr, "Failed to perform TIOCGPTPEER ioctl\n");
                goto do_cleanup;
        }
 
@@ -281,7 +284,7 @@ int main(int argc, char *argv[])
        if (!isatty(STDIN_FILENO)) {
                fprintf(stderr, "Standard input file desciptor is not attached "
                                "to a terminal. Skipping test\n");
-               exit(EXIT_FAILURE);
+               exit(KSFT_SKIP);
        }
 
        ret = unshare(CLONE_NEWNS);