From: Noah Goldstein Date: Wed, 23 Mar 2022 21:57:40 +0000 (-0500) Subject: string: Expand page cross test cases in test-strncmp.c X-Git-Tag: glibc-2.36~433 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=39399913a244a911edb1ff1e31dfe38e64177bb5;p=thirdparty%2Fglibc.git string: Expand page cross test cases in test-strncmp.c Test cases for when both `s1` and `s2` are near the end of a page where previously missing. Reviewed-by: H.J. Lu --- diff --git a/string/test-strncmp.c b/string/test-strncmp.c index 1a87f0e73e3..bba9e3d2dce 100644 --- a/string/test-strncmp.c +++ b/string/test-strncmp.c @@ -573,7 +573,7 @@ check_overflow (void) int test_main (void) { - size_t i, j; + size_t i, j, k; const size_t test_len = MIN(TEST_LEN, 3 * 4096); test_init (); @@ -705,6 +705,31 @@ test_main (void) do_test_n (j, getpagesize () - j - 1, i, ULONG_MAX - i, 0, 127, 0); do_test_n (j, getpagesize () - j - 1, i, ULONG_MAX - i, 0, 127, 1); do_test_n (j, getpagesize () - j - 1, i, ULONG_MAX - i, 0, 127, -1); + + for (k = 2; k <= 128; k += k) + { + do_test (getpagesize () - k, getpagesize () - j - 1, i - 1, i, + 127, 0); + do_test (getpagesize () - k - 1, getpagesize () - j - 1, i - 1, + i, 127, 0); + do_test (getpagesize () - k, getpagesize () - j - 1, i + 1, i, + 127, 0); + do_test (getpagesize () - k - 1, getpagesize () - j - 1, i + 1, + i, 127, 0); + do_test (getpagesize () - k, getpagesize () - j - 1, i, i, 127, + 0); + do_test (getpagesize () - k - 1, getpagesize () - j - 1, i, i, + 127, 0); + do_test (getpagesize () - k, getpagesize () - j - 1, i + 1, i, + 127, -1); + do_test (getpagesize () - k - 1, getpagesize () - j - 1, i + 1, + i, 127, -1); + do_test (getpagesize () - k, getpagesize () - j - 1, i + 1, i, + 127, 1); + do_test (getpagesize () - k - 1, getpagesize () - j - 1, i + 1, + i, 127, 1); + } + if (i < 32) { i += 1;