]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
string: Add additional output in test-strchr failure
authorNoah Goldstein <goldstein.w.n@gmail.com>
Wed, 27 Dec 2023 19:29:32 +0000 (11:29 -0800)
committerNoah Goldstein <goldstein.w.n@gmail.com>
Tue, 2 Jan 2024 05:06:57 +0000 (21:06 -0800)
Seeing occasional failures in `__strchrnul_evex512` that are not
consistently reproducible. Hopefully by adding this the next failure
will provide enough information to debug.

Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
string/test-strchr.c

index f850fcbe269bdd3042c8b4befd4dd2e279aeb460..c795eac6fa7b93b9638fdccdf1423b5302b3b1d5 100644 (file)
@@ -111,7 +111,7 @@ check_result (impl_t *impl, const CHAR *s, int c, const CHAR *exp_res)
   CHAR *res = CALL (impl, s, c);
   if (res != exp_res)
     {
-      error (0, 0, "Wrong result in function %s %#x %p %p", impl->name,
+      error (0, 0, "Wrong result in function %s(%p) %#x %p %p", impl->name, s,
             c, res, exp_res);
       ret = 1;
       return -1;
@@ -119,11 +119,10 @@ check_result (impl_t *impl, const CHAR *s, int c, const CHAR *exp_res)
   return 0;
 }
 
-static void
+static int
 do_one_test (impl_t *impl, const CHAR *s, int c, const CHAR *exp_res)
 {
-  if (check_result (impl, s, c, exp_res) < 0)
-    return;
+  return check_result (impl, s, c, exp_res);
 }
 
 static void
@@ -160,7 +159,15 @@ do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
     result = NULLRET (buf + align + len);
 
   FOR_EACH_IMPL (impl, 0)
-    do_one_test (impl, buf + align, seek_char, result);
+    {
+      if (do_one_test (impl, buf + align, seek_char, result) != 0)
+       {
+         error (0, 0,
+                "\tAlign=%zu, Pos=%zu, Len=%zu, seek=%d, max_char=%d, "
+                "Buf=%p, Res=%p",
+                align, pos, len, seek_char, max_char, buf, result);
+       }
+    }
 }
 
 static void