selftests/mm: map_fixed_noreplace: conform test to TAP format output
authorMuhammad Usama Anjum <usama.anjum@collabora.com>
Fri, 2 Feb 2024 11:31:08 +0000 (16:31 +0500)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 22 Feb 2024 18:24:48 +0000 (10:24 -0800)
Patch series "conform tests to TAP format output", v2.

This patch (of 12):

Conform the layout, informational and status messages to TAP.  No
functional change is intended other than the layout of output messages.
While at it, convert commenting style from // to /**/.

Link: https://lkml.kernel.org/r/20240202113119.2047740-1-usama.anjum@collabora.com
Link: https://lkml.kernel.org/r/20240202113119.2047740-2-usama.anjum@collabora.com
Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/mm/map_fixed_noreplace.c

index 598159f3df1f246a088b7c145ebee7648d62bf62..b74813fdc95143ec21d92d8c3192ee90f3dc2f9e 100644 (file)
@@ -12,6 +12,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
+#include "../kselftest.h"
 
 static void dump_maps(void)
 {
@@ -28,15 +29,12 @@ static unsigned long find_base_addr(unsigned long size)
 
        flags = MAP_PRIVATE | MAP_ANONYMOUS;
        addr = mmap(NULL, size, PROT_NONE, flags, -1, 0);
-       if (addr == MAP_FAILED) {
-               printf("Error: couldn't map the space we need for the test\n");
-               return 0;
-       }
+       if (addr == MAP_FAILED)
+               ksft_exit_fail_msg("Error: couldn't map the space we need for the test\n");
+
+       if (munmap(addr, size) != 0)
+               ksft_exit_fail_msg("Error: munmap failed\n");
 
-       if (munmap(addr, size) != 0) {
-               printf("Error: couldn't map the space we need for the test\n");
-               return 0;
-       }
        return (unsigned long)addr;
 }
 
@@ -46,51 +44,39 @@ int main(void)
        unsigned long flags, addr, size, page_size;
        char *p;
 
+       ksft_print_header();
+       ksft_set_plan(9);
+
        page_size = sysconf(_SC_PAGE_SIZE);
 
-       //let's find a base addr that is free before we start the tests
+       /* let's find a base addr that is free before we start the tests */
        size = 5 * page_size;
        base_addr = find_base_addr(size);
-       if (!base_addr) {
-               printf("Error: couldn't map the space we need for the test\n");
-               return 1;
-       }
 
        flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED_NOREPLACE;
 
-       // Check we can map all the areas we need below
-       errno = 0;
+       /* Check we can map all the areas we need below */
        addr = base_addr;
        size = 5 * page_size;
        p = mmap((void *)addr, size, PROT_NONE, flags, -1, 0);
-
-       printf("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
-
        if (p == MAP_FAILED) {
                dump_maps();
-               printf("Error: couldn't map the space we need for the test\n");
-               return 1;
+               ksft_exit_fail_msg("Error: couldn't map the space we need for the test\n");
        }
-
-       errno = 0;
        if (munmap((void *)addr, 5 * page_size) != 0) {
                dump_maps();
-               printf("Error: munmap failed!?\n");
-               return 1;
+               ksft_exit_fail_msg("Error: munmap failed!?\n");
        }
-       printf("unmap() successful\n");
+       ksft_test_result_pass("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
 
-       errno = 0;
        addr = base_addr + page_size;
        size = 3 * page_size;
        p = mmap((void *)addr, size, PROT_NONE, flags, -1, 0);
-       printf("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
-
        if (p == MAP_FAILED) {
                dump_maps();
-               printf("Error: first mmap() failed unexpectedly\n");
-               return 1;
+               ksft_exit_fail_msg("Error: first mmap() failed unexpectedly\n");
        }
+       ksft_test_result_pass("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
 
        /*
         * Exact same mapping again:
@@ -100,17 +86,14 @@ int main(void)
         *     +3 | mapped | new
         *     +4 |  free  | new
         */
-       errno = 0;
        addr = base_addr;
        size = 5 * page_size;
        p = mmap((void *)addr, size, PROT_NONE, flags, -1, 0);
-       printf("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
-
        if (p != MAP_FAILED) {
                dump_maps();
-               printf("Error:1: mmap() succeeded when it shouldn't have\n");
-               return 1;
+               ksft_exit_fail_msg("Error:1: mmap() succeeded when it shouldn't have\n");
        }
+       ksft_test_result_pass("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
 
        /*
         * Second mapping contained within first:
@@ -121,17 +104,14 @@ int main(void)
         *     +3 | mapped |
         *     +4 |  free  |
         */
-       errno = 0;
        addr = base_addr + (2 * page_size);
        size = page_size;
        p = mmap((void *)addr, size, PROT_NONE, flags, -1, 0);
-       printf("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
-
        if (p != MAP_FAILED) {
                dump_maps();
-               printf("Error:2: mmap() succeeded when it shouldn't have\n");
-               return 1;
+               ksft_exit_fail_msg("Error:2: mmap() succeeded when it shouldn't have\n");
        }
+       ksft_test_result_pass("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
 
        /*
         * Overlap end of existing mapping:
@@ -141,17 +121,14 @@ int main(void)
         *     +3 | mapped | new
         *     +4 |  free  | new
         */
-       errno = 0;
        addr = base_addr + (3 * page_size);
        size = 2 * page_size;
        p = mmap((void *)addr, size, PROT_NONE, flags, -1, 0);
-       printf("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
-
        if (p != MAP_FAILED) {
                dump_maps();
-               printf("Error:3: mmap() succeeded when it shouldn't have\n");
-               return 1;
+               ksft_exit_fail_msg("Error:3: mmap() succeeded when it shouldn't have\n");
        }
+       ksft_test_result_pass("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
 
        /*
         * Overlap start of existing mapping:
@@ -161,17 +138,14 @@ int main(void)
         *     +3 | mapped |
         *     +4 |  free  |
         */
-       errno = 0;
        addr = base_addr;
        size = 2 * page_size;
        p = mmap((void *)addr, size, PROT_NONE, flags, -1, 0);
-       printf("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
-
        if (p != MAP_FAILED) {
                dump_maps();
-               printf("Error:4: mmap() succeeded when it shouldn't have\n");
-               return 1;
+               ksft_exit_fail_msg("Error:4: mmap() succeeded when it shouldn't have\n");
        }
+       ksft_test_result_pass("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
 
        /*
         * Adjacent to start of existing mapping:
@@ -181,17 +155,14 @@ int main(void)
         *     +3 | mapped |
         *     +4 |  free  |
         */
-       errno = 0;
        addr = base_addr;
        size = page_size;
        p = mmap((void *)addr, size, PROT_NONE, flags, -1, 0);
-       printf("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
-
        if (p == MAP_FAILED) {
                dump_maps();
-               printf("Error:5: mmap() failed when it shouldn't have\n");
-               return 1;
+               ksft_exit_fail_msg("Error:5: mmap() failed when it shouldn't have\n");
        }
+       ksft_test_result_pass("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
 
        /*
         * Adjacent to end of existing mapping:
@@ -201,27 +172,22 @@ int main(void)
         *     +3 | mapped |
         *     +4 |  free  |  new
         */
-       errno = 0;
        addr = base_addr + (4 * page_size);
        size = page_size;
        p = mmap((void *)addr, size, PROT_NONE, flags, -1, 0);
-       printf("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
-
        if (p == MAP_FAILED) {
                dump_maps();
-               printf("Error:6: mmap() failed when it shouldn't have\n");
-               return 1;
+               ksft_exit_fail_msg("Error:6: mmap() failed when it shouldn't have\n");
        }
+       ksft_test_result_pass("mmap() @ 0x%lx-0x%lx p=%p result=%m\n", addr, addr + size, p);
 
        addr = base_addr;
        size = 5 * page_size;
        if (munmap((void *)addr, size) != 0) {
                dump_maps();
-               printf("Error: munmap failed!?\n");
-               return 1;
+               ksft_exit_fail_msg("Error: munmap failed!?\n");
        }
-       printf("unmap() successful\n");
+       ksft_test_result_pass("Base Address unmap() successful\n");
 
-       printf("OK\n");
-       return 0;
+       ksft_finished();
 }