On GitHub, they upgraded the macOS machines from macOS 15.3

  Darwin Mac-1744297320864.local 24.3.0 Darwin Kernel Version 24.3.0: Thu Jan  
2 20:16:37 PST 2025; root:xnu-11215.81.4~3/RELEASE_ARM64_VMAPPLE arm64

to

  Darwin Mac-1744360147416.local 24.4.0 Darwin Kernel Version 24.4.0: Wed Mar 
19 21:17:16 PDT 2025; root:xnu-11417.101.15~1/RELEASE_ARM64_VMAPPLE arm64

and as a consequence, a couple of test fail because Apple changed
the properties of some Unicode characters. See attached log file.

This patch ought to fix the test failures.


2025-04-12  Bruno Haible  <br...@clisp.org>

        is*_l, fnmatch tests: Avoid test failures on macOS 15.4.
        Reported by Daniel Collins <solemnwarn...@solemnwarning.net>
        at <https://savannah.gnu.org/bugs/?67007>.
        * tests/test-isgraph_l.c (main): On macOS, disable test cases that fail
        on macOS 15.4.
        * tests/test-isprint_l.c (main): Likewise.
        * tests/test-ispunct_l.c (main): Likewise.
        * tests/test-fnmatch.c (main): Likewise.

diff --git a/tests/test-fnmatch.c b/tests/test-fnmatch.c
index 5cb217a34e..c8447cd239 100644
--- a/tests/test-fnmatch.c
+++ b/tests/test-fnmatch.c
@@ -626,17 +626,17 @@ main (int argc, char *argv[])
         ASSERT (fnmatch ("x[[:alnum:]]y", "x\330y", 0) == 0);
         /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */
         ASSERT (fnmatch ("x[[:alpha:]]y", "x\330y", 0) == 0);
-        #if !(defined __FreeBSD__ || defined __DragonFly__)
+        #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ 
|| defined __DragonFly__)
         /* U+00B8 CEDILLA */
         ASSERT (fnmatch ("x[[:graph:]]y", "x\270y", 0) == 0);
         #endif
         /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */
         ASSERT (fnmatch ("x[[:lower:]]y", "x\377y", 0) == 0);
-        #if !(defined __FreeBSD__ || defined __DragonFly__)
+        #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ 
|| defined __DragonFly__)
         /* U+00B8 CEDILLA */
         ASSERT (fnmatch ("x[[:print:]]y", "x\270y", 0) == 0);
         #endif
-        #if !(defined __FreeBSD__ || defined __DragonFly__)
+        #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ 
|| defined __DragonFly__)
         /* U+00BF INVERTED QUESTION MARK */
         ASSERT (fnmatch ("x[[:punct:]]y", "x\277y", 0) == 0);
         #endif
@@ -794,7 +794,7 @@ main (int argc, char *argv[])
         /* U+00B8 CEDILLA */
         ASSERT (fnmatch ("x[[:print:]]y", "x\217\242\261y", 0) == 0);
         #endif
-        #if !(defined __FreeBSD__ || defined __DragonFly__)
+        #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ 
|| defined __DragonFly__)
         /* U+00D7 MULTIPLICATION SIGN */
         ASSERT (fnmatch ("x[[:punct:]]y", "x\241\337y", 0) == 0);
         #endif
@@ -863,15 +863,15 @@ main (int argc, char *argv[])
         ASSERT (fnmatch ("x?y", "x\250\271y", 0) == 0); /* "xÃŒy" */
         ASSERT (fnmatch ("x?y", "x\201\060\211\070y", 0) == 0); /* "xßy" */
         ASSERT (fnmatch ("x?y", "x\224\071\375\067y", 0) == 0); /* "x😋y" */
-        #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 */
         ASSERT (fnmatch ("x[[:alnum:]]y", "x\201\060\221\071y", 0) == 0);
         #endif
-        #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 */
         ASSERT (fnmatch ("x[[:alpha:]]y", "x\201\060\221\071y", 0) == 0);
         #endif
-        #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+        #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ 
|| defined __DragonFly__ || defined __sun)
         /* U+00B8 CEDILLA */
         ASSERT (fnmatch ("x[[:graph:]]y", "x\201\060\206\060y", 0) == 0);
         #endif
@@ -879,7 +879,7 @@ main (int argc, char *argv[])
         /* U+20000 <CJK Ideograph> */
         ASSERT (fnmatch ("x[[:graph:]]y", "x\225\062\202\066y", 0) == 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 */
         ASSERT (fnmatch ("x[[:lower:]]y", "x\201\060\213\067y", 0) == 0);
         #endif
@@ -887,7 +887,7 @@ main (int argc, char *argv[])
         /* U+10441 DESERET SMALL LETTER EF */
         ASSERT (fnmatch ("x[[:lower:]]y", "x\220\060\355\071y", 0) == 0);
         #endif
-        #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+        #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ 
|| defined __DragonFly__ || defined __sun)
         /* U+00B8 CEDILLA */
         ASSERT (fnmatch ("x[[:print:]]y", "x\201\060\206\060y", 0) == 0);
         #endif
@@ -895,7 +895,7 @@ main (int argc, char *argv[])
         /* U+20000 <CJK Ideograph> */
         ASSERT (fnmatch ("x[[:print:]]y", "x\225\062\202\066y", 0) == 0);
         #endif
-        #if !(defined __FreeBSD__ || defined __DragonFly__ || defined 
__illumos__)
+        #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ 
|| defined __DragonFly__ || defined __illumos__)
         /* U+00D7 MULTIPLICATION SIGN */
         ASSERT (fnmatch ("x[[:punct:]]y", "x\241\301y", 0) == 0);
         #endif
@@ -903,11 +903,11 @@ main (int argc, char *argv[])
         /* U+1D100 MUSICAL SYMBOL SINGLE BARLINE */
         ASSERT (fnmatch ("x[[:punct:]]y", "x\224\062\273\064y", 0) == 0);
         #endif
-        #if !(defined __FreeBSD__ || defined __DragonFly__)
+        #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ 
|| defined __DragonFly__)
         /* U+3000 IDEOGRAPHIC SPACE */
         ASSERT (fnmatch ("x[[:space:]]y", "x\241\241y", 0) == 0);
         #endif
-        #if !(defined __FreeBSD__ || defined __DragonFly__)
+        #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ 
|| defined __DragonFly__)
         /* U+0429 CYRILLIC CAPITAL LETTER SHCHA */
         ASSERT (fnmatch ("x[[:upper:]]y", "x\247\273y", 0) == 0);
         #endif
diff --git a/tests/test-isgraph_l.c b/tests/test-isgraph_l.c
index e118d86130..2ad0033ce2 100644
--- a/tests/test-isgraph_l.c
+++ b/tests/test-isgraph_l.c
@@ -117,7 +117,7 @@ main ()
         is = isgraph_l ((unsigned char) '\240', locale);
         ASSERT (is != 0);
       #endif
-      #if !(defined __FreeBSD__ || defined __DragonFly__)
+      #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || 
defined __DragonFly__)
         /* U+00B8 CEDILLA */
         is = isgraph_l ((unsigned char) '\270', locale);
         ASSERT (is != 0);
diff --git a/tests/test-isprint_l.c b/tests/test-isprint_l.c
index 8ac6bed64a..222e5567bd 100644
--- a/tests/test-isprint_l.c
+++ b/tests/test-isprint_l.c
@@ -111,12 +111,12 @@ main ()
         /* U+007F <control> */
         is = isprint_l ((unsigned char) '\177', locale);
         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 = isprint_l ((unsigned char) '\240', locale);
         ASSERT (is != 0);
       #endif
-      #if !(defined __FreeBSD__ || defined __DragonFly__)
+      #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || 
defined __DragonFly__)
         /* U+00B8 CEDILLA */
         is = isprint_l ((unsigned char) '\270', locale);
         ASSERT (is != 0);
diff --git a/tests/test-ispunct_l.c b/tests/test-ispunct_l.c
index a2e873dc33..3e6c6279d3 100644
--- a/tests/test-ispunct_l.c
+++ b/tests/test-ispunct_l.c
@@ -134,12 +134,12 @@ main ()
         /* Locale encoding is ISO-8859-1 or ISO-8859-15.  */
         int is;
 
-      #if !(defined __FreeBSD__ || defined __DragonFly__)
+      #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || 
defined __DragonFly__)
         /* U+00BF INVERTED QUESTION MARK */
         is = ispunct_l ((unsigned char) '\277', locale);
         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 = ispunct_l ((unsigned char) '\327', locale);
         ASSERT (is != 0);
=====================================
   dummy 0: gltests/test-suite.log
=====================================

# TOTAL: 1639
# PASS:  1554
# SKIP:  79
# XFAIL: 0
# FAIL:  6
# XPASS: 0
# ERROR: 0

System information (uname -a): Darwin 24.4.0 Darwin Kernel Version 24.4.0: Wed Mar 19 21:17:16 PDT 2025; root:xnu-11417.101.15~1/RELEASE_ARM64_VMAPPLE

.. contents:: :depth: 2

FAIL: test-fnmatch-2.sh
=======================

../../gltests/test-fnmatch.c:631: assertion 'fnmatch ("x[[:graph:]]y", "x\270y", 0) == 0' failed
Stack trace:
0x104ab7fdf main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:631
../../gltests/test-fnmatch.c:637: assertion 'fnmatch ("x[[:print:]]y", "x\270y", 0) == 0' failed
Stack trace:
0x104ab8087 main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:637
../../gltests/test-fnmatch.c:641: assertion 'fnmatch ("x[[:punct:]]y", "x\277y", 0) == 0' failed
Stack trace:
0x104ab80db main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:641
FAIL test-fnmatch-2.sh (exit status: 1)

FAIL: test-fnmatch-4.sh
=======================

../../gltests/test-fnmatch.c:799: assertion 'fnmatch ("x[[:punct:]]y", "x\241\337y", 0) == 0' failed
Stack trace:
0x1009ad1df main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:799
FAIL test-fnmatch-4.sh (exit status: 1)

FAIL: test-fnmatch-5.sh
=======================

../../gltests/test-fnmatch.c:868: assertion 'fnmatch ("x[[:alnum:]]y", "x\201\060\221\071y", 0) == 0' failed
Stack trace:
0x1024ad917 main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:868
../../gltests/test-fnmatch.c:872: assertion 'fnmatch ("x[[:alpha:]]y", "x\201\060\221\071y", 0) == 0' failed
Stack trace:
0x1024ad96b main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:872
../../gltests/test-fnmatch.c:876: assertion 'fnmatch ("x[[:graph:]]y", "x\201\060\206\060y", 0) == 0' failed
Stack trace:
0x1024ad9bf main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:876
../../gltests/test-fnmatch.c:884: assertion 'fnmatch ("x[[:lower:]]y", "x\201\060\213\067y", 0) == 0' failed
Stack trace:
0x1024ada13 main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:884
../../gltests/test-fnmatch.c:892: assertion 'fnmatch ("x[[:print:]]y", "x\201\060\206\060y", 0) == 0' failed
Stack trace:
0x1024ada67 main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:892
../../gltests/test-fnmatch.c:900: assertion 'fnmatch ("x[[:punct:]]y", "x\241\301y", 0) == 0' failed
Stack trace:
0x1024adabb main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:900
../../gltests/test-fnmatch.c:908: assertion 'fnmatch ("x[[:space:]]y", "x\241\241y", 0) == 0' failed
Stack trace:
0x1024adb0f main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:908
../../gltests/test-fnmatch.c:912: assertion 'fnmatch ("x[[:upper:]]y", "x\247\273y", 0) == 0' failed
Stack trace:
0x1024adb63 main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-fnmatch.c:912
FAIL test-fnmatch-5.sh (exit status: 1)

FAIL: test-isgraph_l
====================

../../gltests/test-isgraph_l.c:123: assertion 'is != 0' failed
Stack trace:
0x1025c8507 main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-isgraph_l.c:123
FAIL test-isgraph_l (exit status: 1)

FAIL: test-isprint_l
====================

../../gltests/test-isprint_l.c:117: assertion 'is != 0' failed
Stack trace:
0x100f0c4b3 main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-isprint_l.c:117
../../gltests/test-isprint_l.c:122: assertion 'is != 0' failed
Stack trace:
0x100f0c50f main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-isprint_l.c:122
FAIL test-isprint_l (exit status: 1)

FAIL: test-ispunct_l
====================

../../gltests/test-ispunct_l.c:140: assertion 'is != 0' failed
Stack trace:
0x1023583a3 main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-ispunct_l.c:140
../../gltests/test-ispunct_l.c:145: assertion 'is != 0' failed
Stack trace:
0x1023583ef main
	/Users/runner/work/ci-testdir-check/ci-testdir-check/testdir-all/build/gltests/../../gltests/test-ispunct_l.c:145
FAIL test-ispunct_l (exit status: 1)

Reply via email to