[PATCH v3] Improve test coverage of strlen function

H.J. Lu hjl.tools@gmail.com
Wed Jun 2 12:40:30 GMT 2021


On Mon, May 31, 2021 at 11:21:50AM -0700, H.J. Lu wrote:
> On Mon, May 31, 2021 at 11:08 AM Sunil K Pandey <skpgkp2@gmail.com> wrote:
> >
> > This patch covers the following conditions:
> >
> > - Strings start with different alignments and end at the page boundary
> >   with less than 64 byte length.
> > - Strings 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
> >
> 
> LGTM.
> 
> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
> 

Hi Sunil,

I am checking it in for you.  Please get an account on sourceware.org:

https://sourceware.org/

and use me as sponsor.

Thanks.

H.J.


More information about the Libc-alpha mailing list