]> Git Repo - linux.git/commitdiff
selftests/exec: recursion-depth: conform test to TAP format output
authorMuhammad Usama Anjum <[email protected]>
Mon, 4 Mar 2024 15:59:25 +0000 (20:59 +0500)
committerKees Cook <[email protected]>
Wed, 13 Mar 2024 18:54:19 +0000 (11:54 -0700)
Conform the layout, informational and status messages to TAP. No
functional change is intended other than the layout of output messages.
While at it, do minor cleanups like move the declarations of the variables
on top of the function.

Signed-off-by: Muhammad Usama Anjum <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Kees Cook <[email protected]>
tools/testing/selftests/exec/recursion-depth.c

index 2dbd5bc45b3ed0fb095214d395e0132ca3c76a62..b2f37d86a5f623b1a8e91af7b42bfc6db79af34b 100644 (file)
 #include <fcntl.h>
 #include <sys/mount.h>
 #include <unistd.h>
+#include "../kselftest.h"
 
 int main(void)
 {
+       int fd, rv;
+
+       ksft_print_header();
+       ksft_set_plan(1);
+
        if (unshare(CLONE_NEWNS) == -1) {
                if (errno == ENOSYS || errno == EPERM) {
-                       fprintf(stderr, "error: unshare, errno %d\n", errno);
-                       return 4;
+                       ksft_test_result_skip("error: unshare, errno %d\n", errno);
+                       ksft_finished();
                }
-               fprintf(stderr, "error: unshare, errno %d\n", errno);
-               return 1;
-       }
-       if (mount(NULL, "/", NULL, MS_PRIVATE|MS_REC, NULL) == -1) {
-               fprintf(stderr, "error: mount '/', errno %d\n", errno);
-               return 1;
+               ksft_exit_fail_msg("error: unshare, errno %d\n", errno);
        }
+
+       if (mount(NULL, "/", NULL, MS_PRIVATE | MS_REC, NULL) == -1)
+               ksft_exit_fail_msg("error: mount '/', errno %d\n", errno);
+
        /* Require "exec" filesystem. */
-       if (mount(NULL, "/tmp", "ramfs", 0, NULL) == -1) {
-               fprintf(stderr, "error: mount ramfs, errno %d\n", errno);
-               return 1;
-       }
+       if (mount(NULL, "/tmp", "ramfs", 0, NULL) == -1)
+               ksft_exit_fail_msg("error: mount ramfs, errno %d\n", errno);
 
 #define FILENAME "/tmp/1"
 
-       int fd = creat(FILENAME, 0700);
-       if (fd == -1) {
-               fprintf(stderr, "error: creat, errno %d\n", errno);
-               return 1;
-       }
+       fd = creat(FILENAME, 0700);
+       if (fd == -1)
+               ksft_exit_fail_msg("error: creat, errno %d\n", errno);
+
 #define S "#!" FILENAME "\n"
-       if (write(fd, S, strlen(S)) != strlen(S)) {
-               fprintf(stderr, "error: write, errno %d\n", errno);
-               return 1;
-       }
+       if (write(fd, S, strlen(S)) != strlen(S))
+               ksft_exit_fail_msg("error: write, errno %d\n", errno);
+
        close(fd);
 
-       int rv = execve(FILENAME, NULL, NULL);
-       if (rv == -1 && errno == ELOOP) {
-               return 0;
-       }
-       fprintf(stderr, "error: execve, rv %d, errno %d\n", rv, errno);
-       return 1;
+       rv = execve(FILENAME, NULL, NULL);
+       ksft_test_result(rv == -1 && errno == ELOOP,
+                        "execve failed as expected (ret %d, errno %d)\n", rv, errno);
+       ksft_finished();
 }
This page took 0.047497 seconds and 4 git commands to generate.