selftests/mm: virtual_address_range: conform to TAP format output
authorMuhammad Usama Anjum <usama.anjum@collabora.com>
Fri, 2 Feb 2024 11:31:19 +0000 (16:31 +0500)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 22 Feb 2024 18:24:49 +0000 (10:24 -0800)
Conform the layout, informational and status messages to TAP.  No
functional change is intended other than the layout of output messages.

Link: https://lkml.kernel.org/r/20240202113119.2047740-13-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/virtual_address_range.c

index bae0ceaf95b13baeb997c720d6b4244948b98d51..7bcf8d48256a66b4e23165145e873cef9d6ec99c 100644 (file)
@@ -12,6 +12,7 @@
 #include <errno.h>
 #include <sys/mman.h>
 #include <sys/time.h>
+#include "../kselftest.h"
 
 /*
  * Maximum address range mapped with a single mmap()
@@ -68,23 +69,15 @@ static char *hind_addr(void)
        return (char *) (1UL << bits);
 }
 
-static int validate_addr(char *ptr, int high_addr)
+static void validate_addr(char *ptr, int high_addr)
 {
        unsigned long addr = (unsigned long) ptr;
 
-       if (high_addr) {
-               if (addr < HIGH_ADDR_MARK) {
-                       printf("Bad address %lx\n", addr);
-                       return 1;
-               }
-               return 0;
-       }
+       if (high_addr && addr < HIGH_ADDR_MARK)
+               ksft_exit_fail_msg("Bad address %lx\n", addr);
 
-       if (addr > HIGH_ADDR_MARK) {
-               printf("Bad address %lx\n", addr);
-               return 1;
-       }
-       return 0;
+       if (addr > HIGH_ADDR_MARK)
+               ksft_exit_fail_msg("Bad address %lx\n", addr);
 }
 
 static int validate_lower_address_hint(void)
@@ -107,23 +100,29 @@ int main(int argc, char *argv[])
        char *hint;
        unsigned long i, lchunks, hchunks;
 
+       ksft_print_header();
+       ksft_set_plan(1);
+
        for (i = 0; i < NR_CHUNKS_LOW; i++) {
                ptr[i] = mmap(NULL, MAP_CHUNK_SIZE, PROT_READ | PROT_WRITE,
                                        MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
 
                if (ptr[i] == MAP_FAILED) {
-                       if (validate_lower_address_hint())
-                               return 1;
+                       if (validate_lower_address_hint()) {
+                               ksft_test_result_skip("Memory constraint not fulfilled\n");
+                               ksft_finished();
+                       }
                        break;
                }
 
-               if (validate_addr(ptr[i], 0))
-                       return 1;
+               validate_addr(ptr[i], 0);
        }
        lchunks = i;
        hptr = (char **) calloc(NR_CHUNKS_HIGH, sizeof(char *));
-       if (hptr == NULL)
-               return 1;
+       if (hptr == NULL) {
+               ksft_test_result_skip("Memory constraint not fulfilled\n");
+               ksft_finished();
+       }
 
        for (i = 0; i < NR_CHUNKS_HIGH; i++) {
                hint = hind_addr();
@@ -133,8 +132,7 @@ int main(int argc, char *argv[])
                if (hptr[i] == MAP_FAILED)
                        break;
 
-               if (validate_addr(hptr[i], 1))
-                       return 1;
+               validate_addr(hptr[i], 1);
        }
        hchunks = i;
 
@@ -145,5 +143,7 @@ int main(int argc, char *argv[])
                munmap(hptr[i], MAP_CHUNK_SIZE);
 
        free(hptr);
-       return 0;
+
+       ksft_test_result_pass("Test\n");
+       ksft_finished();
 }