I wrote: > On macOS 15.4, the test-trim3.sh unit test randomly succeeds or fails:
Upon closer inspection, I find that the 1 CI run where the test succeeded was using macOS 15.3. (Which means that for a few days, GitHub is randomly serving you macOS 15.3 or 15.4 machines. How nice...) Whereas the 3 CI runs where the test fails are on macOS 15.4: https://github.com/gnu-m4/ci-check/actions/runs/14466732843 https://github.com/gnu-m4/ci-check/actions/runs/14470358366 https://github.com/gnu-gettext/ci-check/actions/runs/14468151874 So, I withdraw my conclusion. It's not random. diff --git a/ChangeLog b/ChangeLog index 910d06634f..e07f4b01ca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,8 @@ 2025-04-15 Bruno Haible <br...@clisp.org> trim tests: Avoid test failures on macOS 15.4. - * tests/test-trim.c (main): On macOS, disable test cases that randomly - succeed or fail on macOS 15.4. + * tests/test-trim.c (main): On macOS, disable test cases that fail on + macOS 15.4. 2025-04-15 Bruno Haible <br...@clisp.org> diff --git a/tests/test-trim.c b/tests/test-trim.c index bca0afe3df..587883897d 100644 --- a/tests/test-trim.c +++ b/tests/test-trim.c @@ -137,18 +137,14 @@ main (int argc, char *argv[]) case '3': /* Locale encoding is GB18030. */ - #if (defined __APPLE__ && defined __MACH__) /* As of macOS 15.4 */ - fputs ("Skipping test: The character properties in the GB18030 locale on this system are broken.\n", stderr); - return 77; - #endif - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __sun) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun) { /* U+2002 EN SPACE */ char *result = trim ("\201\066\243\070\241\244foo\201\066\243\070"); ASSERT (strcmp (result, "\241\244foo") == 0); free (result); } #endif - #if !(defined __FreeBSD__ || defined __DragonFly__ || defined __illumos__) + #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __illumos__) { /* U+3000 IDEOGRAPHIC SPACE */ char *result = trim ("\241\241\241\244foo\241\241"); ASSERT (strcmp (result, "\241\244foo") == 0);