> 2025-04-12 Bruno Haible <br...@clisp.org> > > is*_l, fnmatch tests: Avoid test failures on macOS 15.4.
In the CI runs of libunistring and coreutils, I see some other tests fail on the macOS 15.4 machines: FAIL: test-c32isalnum.sh ======================== ../../tests/test-c32isalnum.c:228: assertion 'is != 0' failed ../../tests/test-c32isalnum.sh: line 47: 24849 Abort trap: 6 LC_ALL=$LOCALE_ZH_CN ${CHECKER} ./test-c32isalnum${EXEEXT} 4 FAIL test-c32isalnum.sh (exit status: 1) FAIL: test-c32isalpha.sh ======================== ../../tests/test-c32isalpha.c:226: assertion 'is != 0' failed ../../tests/test-c32isalpha.sh: line 47: 24944 Abort trap: 6 LC_ALL=$LOCALE_ZH_CN ${CHECKER} ./test-c32isalpha${EXEEXT} 4 FAIL test-c32isalpha.sh (exit status: 1) FAIL: test-c32isgraph.sh ======================== ../../tests/test-c32isgraph.c:130: assertion 'is != 0' failed ../../tests/test-c32isgraph.sh: line 13: 25269 Abort trap: 6 LC_ALL=$LOCALE_FR ${CHECKER} ./test-c32isgraph${EXEEXT} 1 FAIL test-c32isgraph.sh (exit status: 1) FAIL: test-c32islower.sh ======================== ../../tests/test-c32islower.c:291: assertion 'is != 0' failed ../../tests/test-c32islower.sh: line 47: 25359 Abort trap: 6 LC_ALL=$LOCALE_ZH_CN ${CHECKER} ./test-c32islower${EXEEXT} 4 FAIL test-c32islower.sh (exit status: 1) FAIL: test-c32isprint.sh ======================== ../../tests/test-c32isprint.c:124: assertion 'is != 0' failed ../../tests/test-c32isprint.sh: line 13: 25407 Abort trap: 6 LC_ALL=$LOCALE_FR ${CHECKER} ./test-c32isprint${EXEEXT} 1 FAIL test-c32isprint.sh (exit status: 1) FAIL: test-c32ispunct.sh ======================== ../../tests/test-c32ispunct.c:156: assertion 'is != 0' failed ../../tests/test-c32ispunct.sh: line 13: 25455 Abort trap: 6 LC_ALL=$LOCALE_FR ${CHECKER} ./test-c32ispunct${EXEEXT} 1 FAIL test-c32ispunct.sh (exit status: 1) FAIL: test-c32isspace.sh ======================== ../../tests/test-c32isspace.c:181: assertion 'is != 0' failed ../../tests/test-c32isspace.sh: line 47: 25545 Abort trap: 6 LC_ALL=$LOCALE_ZH_CN ${CHECKER} ./test-c32isspace${EXEEXT} 4 FAIL test-c32isspace.sh (exit status: 1) FAIL: test-c32isupper.sh ======================== ../../tests/test-c32isupper.c:278: assertion 'is != 0' failed ../../tests/test-c32isupper.sh: line 47: 25636 Abort trap: 6 LC_ALL=$LOCALE_ZH_CN ${CHECKER} ./test-c32isupper${EXEEXT} 4 FAIL test-c32isupper.sh (exit status: 1) FAIL: test-c32tolower.sh ======================== + LC_ALL=C + ./test-c32tolower 0 + LC_ALL=POSIX + ./test-c32tolower 0 + : fr_FR.ISO8859-1 + test fr_FR.ISO8859-1 '!=' none + LC_ALL=fr_FR.ISO8859-1 + ./test-c32tolower 1 + : ja_JP.eucJP + test ja_JP.eucJP '!=' none + LC_ALL=ja_JP.eucJP + ./test-c32tolower 2 + : en_US.UTF-8 + : fr_FR.UTF-8 + test en_US.UTF-8 '!=' none + test fr_FR.UTF-8 '!=' none + testlocale=fr_FR.UTF-8 + LC_ALL=fr_FR.UTF-8 + ./test-c32tolower 3 + : zh_CN.GB18030 + test zh_CN.GB18030 '!=' none + LC_ALL=zh_CN.GB18030 + ./test-c32tolower 4 ../../tests/test-c32tolower.c:355: assertion 'mb.nbytes == 2' failed ../../tests/test-c32tolower.sh: line 50: 26050 Abort trap: 6 LC_ALL=$LOCALE_ZH_CN ${CHECKER} ./test-c32tolower${EXEEXT} 4 + case $? in + exit 1 FAIL test-c32tolower.sh (exit status: 1) Fixed through this patch: 2025-04-14 Bruno Haible <br...@clisp.org> c32is*, c32to* tests: Avoid test failures on macOS 15.4. * tests/test-c32isalnum.c (main): On macOS, disable test cases that fail on macOS 15.4. * tests/test-c32isalpha.c (main): Likewise. * tests/test-c32isgraph.c (main): Likewise. * tests/test-c32islower.c (main): Likewise. * tests/test-c32isprint.c (main): Likewise. * tests/test-c32ispunct.c (main): Likewise. * tests/test-c32isspace.c (main): Likewise. * tests/test-c32isupper.c (main): Likewise. * tests/test-c32tolower.c (main): Likewise. * tests/test-c32toupper.c (main): Likewise. diff --git a/tests/test-c32isalnum.c b/tests/test-c32isalnum.c index 46eb957aec..20e4d30a86 100644 --- a/tests/test-c32isalnum.c +++ b/tests/test-c32isalnum.c @@ -222,7 +222,7 @@ main (int argc, char *argv[]) /* U+00D7 MULTIPLICATION SIGN */ is = for_character ("\241\301", 2); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ is = for_character ("\201\060\211\061", 4); ASSERT (is != 0); diff --git a/tests/test-c32isalpha.c b/tests/test-c32isalpha.c index 8024c7a05e..c9d2c19ff0 100644 --- a/tests/test-c32isalpha.c +++ b/tests/test-c32isalpha.c @@ -220,7 +220,7 @@ main (int argc, char *argv[]) /* U+00D7 MULTIPLICATION SIGN */ is = for_character ("\241\301", 2); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ is = for_character ("\201\060\211\061", 4); ASSERT (is != 0); diff --git a/tests/test-c32isgraph.c b/tests/test-c32isgraph.c index 38d89f5a91..9a11ca166c 100644 --- a/tests/test-c32isgraph.c +++ b/tests/test-c32isgraph.c @@ -124,7 +124,7 @@ main (int argc, char *argv[]) is = for_character ("\240", 1); ASSERT (is != 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+00B8 CEDILLA */ is = for_character ("\270", 1); ASSERT (is != 0); @@ -209,7 +209,7 @@ main (int argc, char *argv[]) is = for_character ("\201\060\204\062", 4); ASSERT (is != 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00B8 CEDILLA */ is = for_character ("\201\060\206\060", 4); ASSERT (is != 0); diff --git a/tests/test-c32islower.c b/tests/test-c32islower.c index 4057b49cd2..a66199f84f 100644 --- a/tests/test-c32islower.c +++ b/tests/test-c32islower.c @@ -285,7 +285,7 @@ main (int argc, char *argv[]) /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */ is = for_character ("\201\060\207\067", 4); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00DF LATIN SMALL LETTER SHARP S */ is = for_character ("\201\060\211\070", 4); ASSERT (is != 0); @@ -295,7 +295,7 @@ main (int argc, char *argv[]) is = for_character ("\250\246", 2); ASSERT (is != 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */ is = for_character ("\201\060\213\067", 4); ASSERT (is != 0); @@ -303,7 +303,7 @@ main (int argc, char *argv[]) /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */ is = for_character ("\201\060\221\071", 4); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+0142 LATIN SMALL LETTER L WITH STROKE */ is = for_character ("\201\060\222\060", 4); ASSERT (is != 0); @@ -311,7 +311,7 @@ main (int argc, char *argv[]) /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */ is = for_character ("\247\273", 2); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+0449 CYRILLIC SMALL LETTER SHCHA */ is = for_character ("\247\353", 2); ASSERT (is != 0); diff --git a/tests/test-c32isprint.c b/tests/test-c32isprint.c index 07d212f597..2879543bcf 100644 --- a/tests/test-c32isprint.c +++ b/tests/test-c32isprint.c @@ -118,12 +118,12 @@ main (int argc, char *argv[]) /* U+007F <control> */ is = for_character ("\177", 1); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sgi || (defined _WIN32 && !defined __CYGWIN__)) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sgi || (defined _WIN32 && !defined __CYGWIN__)) /* U+00A0 NO-BREAK SPACE */ is = for_character ("\240", 1); ASSERT (is != 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+00B8 CEDILLA */ is = for_character ("\270", 1); ASSERT (is != 0); @@ -207,7 +207,7 @@ main (int argc, char *argv[]) /* U+007F <control> */ is = for_character ("\177", 1); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00A0 NO-BREAK SPACE */ is = for_character ("\201\060\204\062", 4); ASSERT (is != 0); @@ -223,7 +223,7 @@ main (int argc, char *argv[]) is = for_character ("\201\066\247\061", 4); ASSERT (is == 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+3000 IDEOGRAPHIC SPACE */ is = for_character ("\241\241", 2); ASSERT (is != 0); diff --git a/tests/test-c32ispunct.c b/tests/test-c32ispunct.c index c762593187..535d0c4998 100644 --- a/tests/test-c32ispunct.c +++ b/tests/test-c32ispunct.c @@ -150,12 +150,12 @@ main (int argc, char *argv[]) case '1': /* Locale encoding is ISO-8859-1 or ISO-8859-15. */ { - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+00BF INVERTED QUESTION MARK */ is = for_character ("\277", 1); ASSERT (is != 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00D7 MULTIPLICATION SIGN */ is = for_character ("\327", 1); ASSERT (is != 0); @@ -177,7 +177,7 @@ main (int argc, char *argv[]) is = for_character ("\217\242\304", 3); ASSERT (is != 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+00D7 MULTIPLICATION SIGN */ is = for_character ("\241\337", 2); ASSERT (is != 0); @@ -216,7 +216,7 @@ main (int argc, char *argv[]) /* U+00BF INVERTED QUESTION MARK */ is = for_character ("\302\277", 2); ASSERT (is != 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00D7 MULTIPLICATION SIGN */ is = for_character ("\303\227", 2); ASSERT (is != 0); @@ -233,7 +233,7 @@ main (int argc, char *argv[]) /* U+05F3 HEBREW PUNCTUATION GERESH */ is = for_character ("\327\263", 2); ASSERT (is != 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun || (defined _WIN32 && !defined __CYGWIN__)) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun || (defined _WIN32 && !defined __CYGWIN__)) /* U+2192 RIGHTWARDS ARROW */ is = for_character ("\342\206\222", 3); ASSERT (is != 0); @@ -250,7 +250,7 @@ main (int argc, char *argv[]) /* U+10330 GOTHIC LETTER AHSA */ is = for_character ("\360\220\214\260", 4); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+1D100 MUSICAL SYMBOL SINGLE BARLINE */ is = for_character ("\360\235\204\200", 4); ASSERT (is != 0); @@ -272,12 +272,12 @@ main (int argc, char *argv[]) return 77; #endif { - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00BF INVERTED QUESTION MARK */ is = for_character ("\201\060\206\067", 4); ASSERT (is != 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00D7 MULTIPLICATION SIGN */ is = for_character ("\241\301", 2); ASSERT (is != 0); @@ -291,12 +291,12 @@ main (int argc, char *argv[]) /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */ is = for_character ("\201\060\221\071", 4); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+05F3 HEBREW PUNCTUATION GERESH */ is = for_character ("\201\060\374\067", 4); ASSERT (is != 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+2192 RIGHTWARDS ARROW */ is = for_character ("\241\372", 2); ASSERT (is != 0); diff --git a/tests/test-c32isspace.c b/tests/test-c32isspace.c index ec0d11f333..6381e42d32 100644 --- a/tests/test-c32isspace.c +++ b/tests/test-c32isspace.c @@ -175,12 +175,12 @@ main (int argc, char *argv[]) /* U+00B7 MIDDLE DOT */ is = for_character ("\241\244", 2); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+2002 EN SPACE */ is = for_character ("\201\066\243\070", 4); ASSERT (is != 0); #endif - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+3000 IDEOGRAPHIC SPACE */ is = for_character ("\241\241", 2); ASSERT (is != 0); diff --git a/tests/test-c32isupper.c b/tests/test-c32isupper.c index df7f9d414b..460328ea46 100644 --- a/tests/test-c32isupper.c +++ b/tests/test-c32isupper.c @@ -272,7 +272,7 @@ main (int argc, char *argv[]) /* U+00B5 MICRO SIGN */ is = for_character ("\201\060\205\070", 4); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */ is = for_character ("\201\060\207\067", 4); ASSERT (is != 0); @@ -286,7 +286,7 @@ main (int argc, char *argv[]) /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */ is = for_character ("\201\060\213\067", 4); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */ is = for_character ("\201\060\221\071", 4); ASSERT (is != 0); @@ -294,7 +294,7 @@ main (int argc, char *argv[]) /* U+0142 LATIN SMALL LETTER L WITH STROKE */ is = for_character ("\201\060\222\060", 4); ASSERT (is == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */ is = for_character ("\247\273", 2); ASSERT (is != 0); diff --git a/tests/test-c32tolower.c b/tests/test-c32tolower.c index b754613b7d..f118021ee4 100644 --- a/tests/test-c32tolower.c +++ b/tests/test-c32tolower.c @@ -349,7 +349,7 @@ main (int argc, char *argv[]) mb = for_character ("\201\060\205\070", 4); ASSERT (mb.nbytes == 4); ASSERT (memcmp (mb.buf, "\201\060\205\070", 4) == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */ mb = for_character ("\201\060\207\067", 4); ASSERT (mb.nbytes == 2); @@ -367,7 +367,7 @@ main (int argc, char *argv[]) mb = for_character ("\201\060\213\067", 4); ASSERT (mb.nbytes == 4); ASSERT (memcmp (mb.buf, "\201\060\213\067", 4) == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+0141 LATIN CAPITAL LETTER L WITH STROKE */ mb = for_character ("\201\060\221\071", 4); ASSERT (mb.nbytes == 4); @@ -377,7 +377,7 @@ main (int argc, char *argv[]) mb = for_character ("\201\060\222\060", 4); ASSERT (mb.nbytes == 4); ASSERT (memcmp (mb.buf, "\201\060\222\060", 4) == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */ mb = for_character ("\247\273", 2); ASSERT (mb.nbytes == 2); diff --git a/tests/test-c32toupper.c b/tests/test-c32toupper.c index b0be38bea3..c868c23d28 100644 --- a/tests/test-c32toupper.c +++ b/tests/test-c32toupper.c @@ -371,7 +371,7 @@ main (int argc, char *argv[]) mb = for_character ("\201\060\211\070", 4); ASSERT (mb.nbytes == 4); ASSERT (memcmp (mb.buf, "\201\060\211\070", 4) == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ mb = for_character ("\250\246", 2); ASSERT (mb.nbytes == 4); @@ -385,7 +385,7 @@ main (int argc, char *argv[]) mb = for_character ("\201\060\221\071", 4); ASSERT (mb.nbytes == 4); ASSERT (memcmp (mb.buf, "\201\060\221\071", 4) == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) /* U+0142 LATIN SMALL LETTER L WITH STROKE */ mb = for_character ("\201\060\222\060", 4); ASSERT (mb.nbytes == 4); @@ -395,7 +395,7 @@ main (int argc, char *argv[]) mb = for_character ("\247\273", 2); ASSERT (mb.nbytes == 2); ASSERT (memcmp (mb.buf, "\247\273", 2) == 0); - #if !(defined __FreeBSD__ || defined __DragonFly__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__) /* U+0449 CYRILLIC SMALL LETTER SHCHA */ mb = for_character ("\247\353", 2); ASSERT (mb.nbytes == 2);