On 9/19/26 03:05, Bahram Alinezhad wrote:
Also this fails on some tests. log attached.
I hope you fix this.Regards.
Thanks. Your environment is old enough that I don't have a platform to
reproduce it on, and I'll need help from you to debug. Let's start by
investigating the first failure. Please apply the attached patch to
gltests/test-c32isalnum.c, rerun 'make-check', and reply with the output
that should be in gltests/test-c32isalnum.sh.log. Since this is a Gnulib
issue, please cc to <[email protected]>.
Which version of glibc are you using? Or, if you're using musl, which
version of that?
If you can use a debugger to see why gltests/test-c32alsnum is failing,
that would help to find the bug faster.
I am also cc'ing this email to [email protected]. For bug-gnulib
readers: This is following up
<https://lists.gnu.org/r/bug-m4/2026-09/msg00001.html>. The Gnulib test
case was made with "./gnulib-tool --create-testdir -h --dir
m4gnulib-test c32isalnum c32isalpha c32isblank c32iscntrl c32isdigit
c32isgraph c32islower c32isprint c32ispunct c32isspace c32isupper
c32isxdigit c32rtomb c32tolower mbrtoc32 mbrtowc" and the test failure
occurs on an old system with "System information (uname -a): Linux
2.6.27.7 #2 Thu Nov 20 23:19:39 CST 2008 i586 05/04 AuthenticAMD".diff --git a/tests/test-c32isalnum.c b/tests/test-c32isalnum.c
index 115cca890f..534f90294a 100644
--- a/tests/test-c32isalnum.c
+++ b/tests/test-c32isalnum.c
@@ -38,7 +38,11 @@ for_character (const char *s, size_t n)
memset (&state, '\0', sizeof (mbstate_t));
wc = 0xBADFACE;
+ printf ("for_character");
+ for (size_t i = 0; i < n; i++)
+ printf (" %.2x", (unsigned char) s[i]);
ret = mbrtoc32 (&wc, s, n, &state);
+ printf (" = %zx\n", ret);
ASSERT (ret == n);
return c32isalnum (wc);
@@ -51,8 +55,10 @@ main (int argc, char *argv[])
char buf[4];
/* configure should already have checked that the locale is supported. */
- if (setlocale (LC_ALL, "") == NULL)
+ char const *locale = setlocale (LC_ALL, "");
+ if (locale == NULL)
return 1;
+ printf ("setlocale %s\n", locale);
/* Test WEOF. */
is = c32isalnum (WEOF);