[PATCH v1 19/23] string: Expand page cross test cases in test-strcmp.c
Noah Goldstein
goldstein.w.n@gmail.com
Wed Mar 23 21:57:39 GMT 2022
Test cases for when both `s1` and `s2` are near the end of a page
where previously missing.
---
string/test-strcmp.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/string/test-strcmp.c b/string/test-strcmp.c
index 0abce769d0..ece03c6d0b 100644
--- a/string/test-strcmp.c
+++ b/string/test-strcmp.c
@@ -392,7 +392,7 @@ check3 (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 ();
check();
@@ -453,6 +453,19 @@ test_main (void)
do_test (j, getpagesize () - j - 1, i, 127, 1);
do_test (j, getpagesize () - j - 1, i, 127, -1);
+ for (k = 2; k <= 128; k += k)
+ {
+ do_test (getpagesize () - k, getpagesize () - j - 1, i, 127, 0);
+ do_test (getpagesize () - k - 1, getpagesize () - j - 1, i, 127,
+ 0);
+ do_test (getpagesize () - k, getpagesize () - j - 1, i, 127, 1);
+ do_test (getpagesize () - k - 1, getpagesize () - j - 1, i, 127,
+ 1);
+ do_test (getpagesize () - k, getpagesize () - j - 1, i, 127, -1);
+ do_test (getpagesize () - k - 1, getpagesize () - j - 1, i, 127,
+ -1);
+ }
+
if (i < 32)
{
i += 1;
--
2.25.1
More information about the Libc-alpha
mailing list