[v2] Improve test coverage of strnlen function

Message ID 20210602210022.1091086-1-skpgkp2@gmail.com
State New
Headers show
Series
  • [v2] Improve test coverage of strnlen function
Related show

Commit Message

Szabolcs Nagy via Libc-alpha June 2, 2021, 9 p.m.
This patch covers the following condition:

Strings start with different alignments and end with length less than or
equal to 512 byte.
---
 string/test-strnlen.c | 9 +++++++++
 1 file changed, 9 insertions(+)

-- 
2.31.1

Comments

Szabolcs Nagy via Libc-alpha June 2, 2021, 9:18 p.m. | #1
On Wed, Jun 2, 2021 at 5:00 PM Sunil K Pandey via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>

> This patch covers the following condition:

>

> Strings start with different alignments and end with length less than or

> equal to 512 byte.

> ---

>  string/test-strnlen.c | 9 +++++++++

>  1 file changed, 9 insertions(+)

>

> diff --git a/string/test-strnlen.c b/string/test-strnlen.c

> index d70faa26ab..fc2519614f 100644

> --- a/string/test-strnlen.c

> +++ b/string/test-strnlen.c

> @@ -271,6 +271,15 @@ test_main (void)

>        do_test (1, 1 << i, 5000, BIG_CHAR);

>      }

>

> +  size_t pagesize = getpagesize () / sizeof (CHAR);

Think style of the file is variables declared at start of their
scope. Also imo pagesize means something different than
char per page so maybe rename.

That being said I support the patch.

Thanks for test improvements!
> +

> +  for (i = 0; i <= 127; i++)

> +    for (size_t length = i; length <= 512; length++)

> +      {

> +       do_test (i, length, 512, BIG_CHAR);

> +       do_test (pagesize - i, length, 512, BIG_CHAR);

> +      }

> +

>    do_random_tests ();

>    do_page_tests ();

>    do_page_2_tests ();

> --

> 2.31.1

>

Patch

diff --git a/string/test-strnlen.c b/string/test-strnlen.c
index d70faa26ab..fc2519614f 100644
--- a/string/test-strnlen.c
+++ b/string/test-strnlen.c
@@ -271,6 +271,15 @@  test_main (void)
       do_test (1, 1 << i, 5000, BIG_CHAR);
     }
 
+  size_t pagesize = getpagesize () / sizeof (CHAR);
+
+  for (i = 0; i <= 127; i++)
+    for (size_t length = i; length <= 512; length++)
+      {
+	do_test (i, length, 512, BIG_CHAR);
+	do_test (pagesize - i, length, 512, BIG_CHAR);
+      }
+
   do_random_tests ();
   do_page_tests ();
   do_page_2_tests ();