selftests: x86: test_mremap_vdso: conform test to TAP format output
authorMuhammad Usama Anjum <usama.anjum@collabora.com>
Wed, 27 Mar 2024 18:46:36 +0000 (23:46 +0500)
committerShuah Khan <skhan@linuxfoundation.org>
Mon, 6 May 2024 19:57:19 +0000 (13:57 -0600)
Conform the layout, informational and status messages to TAP. No
functional change is intended other than the layout of output messages.

Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/x86/test_mremap_vdso.c

index f0d876d4827787a6204514bd46b301f5aedca05e..d53959e0359303fb16dde4c3960679d6db403907 100644 (file)
@@ -19,6 +19,7 @@
 #include <sys/auxv.h>
 #include <sys/syscall.h>
 #include <sys/wait.h>
+#include "../kselftest.h"
 
 #define PAGE_SIZE      4096
 
@@ -29,13 +30,13 @@ static int try_to_remap(void *vdso_addr, unsigned long size)
        /* Searching for memory location where to remap */
        dest_addr = mmap(0, size, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
        if (dest_addr == MAP_FAILED) {
-               printf("[WARN]\tmmap failed (%d): %m\n", errno);
+               ksft_print_msg("WARN: mmap failed (%d): %m\n", errno);
                return 0;
        }
 
-       printf("[NOTE]\tMoving vDSO: [%p, %#lx] -> [%p, %#lx]\n",
-               vdso_addr, (unsigned long)vdso_addr + size,
-               dest_addr, (unsigned long)dest_addr + size);
+       ksft_print_msg("Moving vDSO: [%p, %#lx] -> [%p, %#lx]\n",
+                      vdso_addr, (unsigned long)vdso_addr + size,
+                      dest_addr, (unsigned long)dest_addr + size);
        fflush(stdout);
 
        new_addr = mremap(vdso_addr, size, size,
@@ -43,10 +44,10 @@ static int try_to_remap(void *vdso_addr, unsigned long size)
        if ((unsigned long)new_addr == (unsigned long)-1) {
                munmap(dest_addr, size);
                if (errno == EINVAL) {
-                       printf("[NOTE]\tvDSO partial move failed, will try with bigger size\n");
+                       ksft_print_msg("vDSO partial move failed, will try with bigger size\n");
                        return -1; /* Retry with larger */
                }
-               printf("[FAIL]\tmremap failed (%d): %m\n", errno);
+               ksft_print_msg("[FAIL]\tmremap failed (%d): %m\n", errno);
                return 1;
        }
 
@@ -58,11 +59,12 @@ int main(int argc, char **argv, char **envp)
 {
        pid_t child;
 
+       ksft_print_header();
+       ksft_set_plan(1);
+
        child = fork();
-       if (child == -1) {
-               printf("[WARN]\tfailed to fork (%d): %m\n", errno);
-               return 1;
-       }
+       if (child == -1)
+               ksft_exit_fail_msg("failed to fork (%d): %m\n", errno);
 
        if (child == 0) {
                unsigned long vdso_size = PAGE_SIZE;
@@ -70,9 +72,9 @@ int main(int argc, char **argv, char **envp)
                int ret = -1;
 
                auxval = getauxval(AT_SYSINFO_EHDR);
-               printf("\tAT_SYSINFO_EHDR is %#lx\n", auxval);
+               ksft_print_msg("AT_SYSINFO_EHDR is %#lx\n", auxval);
                if (!auxval || auxval == -ENOENT) {
-                       printf("[WARN]\tgetauxval failed\n");
+                       ksft_print_msg("WARN: getauxval failed\n");
                        return 0;
                }
 
@@ -92,16 +94,13 @@ int main(int argc, char **argv, char **envp)
                int status;
 
                if (waitpid(child, &status, 0) != child ||
-                       !WIFEXITED(status)) {
-                       printf("[FAIL]\tmremap() of the vDSO does not work on this kernel!\n");
-                       return 1;
-               } else if (WEXITSTATUS(status) != 0) {
-                       printf("[FAIL]\tChild failed with %d\n",
-                                       WEXITSTATUS(status));
-                       return 1;
-               }
-               printf("[OK]\n");
+                       !WIFEXITED(status))
+                       ksft_test_result_fail("mremap() of the vDSO does not work on this kernel!\n");
+               else if (WEXITSTATUS(status) != 0)
+                       ksft_test_result_fail("Child failed with %d\n", WEXITSTATUS(status));
+               else
+                       ksft_test_result_pass("%s\n", __func__);
        }
 
-       return 0;
+       ksft_finished();
 }