public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v2] Improve test coverage of strlen function
@ 2021-05-31 15:59 Sunil K Pandey
  2021-05-31 16:02 ` H.J. Lu
  0 siblings, 1 reply; 2+ messages in thread
From: Sunil K Pandey @ 2021-05-31 15:59 UTC (permalink / raw)
  To: libc-alpha

This patch covers following conditions.

- String starts with different alignments and ends at the page boundary
  with less than 64 byte length.
- String starts with different alignments and cross page boundary with
  fixed length.
---
 string/test-strlen.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/string/test-strlen.c b/string/test-strlen.c
index 6e67d1f1f1..c9a7afb339 100644
--- a/string/test-strlen.c
+++ b/string/test-strlen.c
@@ -79,7 +79,7 @@ do_test (size_t align, size_t len)
 {
   size_t i;
 
-  align &= 63;
+  align &= (getpagesize () / sizeof (CHAR)) - 1;
   if (align + sizeof (CHAR) * len >= page_size)
     return;
 
@@ -160,6 +160,19 @@ test_main (void)
       do_test (sizeof (CHAR) * i, (size_t)((1 << i) / 1.5));
     }
 
+  /* Test strings near page boundary */
+
+  size_t maxlength = 64 / sizeof (CHAR) - 1;
+  size_t pagesize = getpagesize () / sizeof (CHAR);
+
+  for (i = maxlength ; i > 1; --i)
+    {
+      /* String stays on the same page.  */
+      do_test (pagesize - i, i - 1);
+      /* String crosses page boundary.  */
+      do_test (pagesize - i, maxlength);
+    }
+
   do_random_tests ();
   return ret;
 }
-- 
2.31.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] Improve test coverage of strlen function
  2021-05-31 15:59 [PATCH v2] Improve test coverage of strlen function Sunil K Pandey
@ 2021-05-31 16:02 ` H.J. Lu
  0 siblings, 0 replies; 2+ messages in thread
From: H.J. Lu @ 2021-05-31 16:02 UTC (permalink / raw)
  To: Sunil K Pandey; +Cc: GNU C Library

On Mon, May 31, 2021 at 8:59 AM Sunil K Pandey <skpgkp2@gmail.com> wrote:
>
> This patch covers following conditions.

"the following conditions:"

> - String starts with different alignments and ends at the page boundary
Strings start ... and end
>   with less than 64 byte length.
> - String starts with different alignments and cross page boundary with
 Strings starts
>   fixed length.
> ---
>  string/test-strlen.c | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/string/test-strlen.c b/string/test-strlen.c
> index 6e67d1f1f1..c9a7afb339 100644
> --- a/string/test-strlen.c
> +++ b/string/test-strlen.c
> @@ -79,7 +79,7 @@ do_test (size_t align, size_t len)
>  {
>    size_t i;
>
> -  align &= 63;
> +  align &= (getpagesize () / sizeof (CHAR)) - 1;
>    if (align + sizeof (CHAR) * len >= page_size)
>      return;
>
> @@ -160,6 +160,19 @@ test_main (void)
>        do_test (sizeof (CHAR) * i, (size_t)((1 << i) / 1.5));
>      }
>
> +  /* Test strings near page boundary */
> +
> +  size_t maxlength = 64 / sizeof (CHAR) - 1;
> +  size_t pagesize = getpagesize () / sizeof (CHAR);
> +
> +  for (i = maxlength ; i > 1; --i)
> +    {
> +      /* String stays on the same page.  */
> +      do_test (pagesize - i, i - 1);
> +      /* String crosses page boundary.  */
> +      do_test (pagesize - i, maxlength);
> +    }
> +
>    do_random_tests ();
>    return ret;
>  }
> --
> 2.31.1
>


-- 
H.J.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-05-31 16:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-31 15:59 [PATCH v2] Improve test coverage of strlen function Sunil K Pandey
2021-05-31 16:02 ` H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).