1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

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 <hjl.tools@gmail.com>
This commit is contained in:
Noah Goldstein
2022-03-23 16:57:40 -05:00
parent 22833848e3
commit 39399913a2

View File

@ -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;