Improve test coverage of strnlen function
authorSunil K Pandey <skpgkp2@gmail.com>
Mon, 31 May 2021 17:44:46 +0000 (10:44 -0700)
committerSunil K Pandey <skpgkp2@gmail.com>
Thu, 3 Jun 2021 18:16:51 +0000 (11:16 -0700)
This patch covers the following condition:

Strings start with different alignments and end with length less than or
equal to 512 byte.

Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
string/test-strnlen.c

index d70faa26ab04cb6094cf6f7e34f4027b3571a6cf..920f58e97b4d6ddf2b129dfaffe616dbfa0e6e29 100644 (file)
@@ -230,7 +230,7 @@ do_page_2_tests (void)
 int
 test_main (void)
 {
-  size_t i;
+  size_t i, length, char_per_page;
 
   test_init ();
 
@@ -271,6 +271,15 @@ test_main (void)
       do_test (1, 1 << i, 5000, BIG_CHAR);
     }
 
+  char_per_page = getpagesize () / sizeof (CHAR);
+
+  for (i = 0; i <= 127; i++)
+    for (length = i; length <= 512; length++)
+      {
+       do_test (i, length, 512, BIG_CHAR);
+       do_test (char_per_page - i, length, 512, BIG_CHAR);
+      }
+
   do_random_tests ();
   do_page_tests ();
   do_page_2_tests ();