Subject: Re: bug#74428: tests/printf/printf-cov failure on macOS

From: Pádraig Brady <[email-masked]>
Date: Tue, 19 Nov 2024 15:45:15 +0000

On 19/11/2024 04:41, Grisha Levit wrote:
> The u4 and U8 tests in tests/printf/printf-cov.pl fail on macOS 15:
> 
> u4...
> printf: test u4: stdout mismatch, comparing u4.1 (expected) and u4.O (actual)
> *** u4.1	Mon Nov 18 23:30:03 2024
> --- u4.O	Mon Nov 18 23:30:03 2024
> ***************
> *** 1 ****
> ! 0
> \ No newline at end of file
> --- 1 ----
> ! \u0030
> \ No newline at end of file
> U8...
> printf: test U8: stdout mismatch, comparing U8.1 (expected) and U8.O (actual)
> *** U8.1	Mon Nov 18 23:30:03 2024
> --- U8.O	Mon Nov 18 23:30:03 2024
> ***************
> *** 1 ****
> ! 0
> \ No newline at end of file
> --- 1 ----
> ! \u0030
> \ No newline at end of file

CC'ing gnulib as the pertinent code is in unicodeio.c
On your macos 15 system, iconv() of 0x30 is failing to convert from utf8 to C,
and the fallback in unicodeio.c is outputting the \u0030.
Now I don't have access to macos to see exactly why that iconv() is failing,
but failing for anything < 0x80 is surprising.

cheers,
Pádraig

p.s. to test this in isolation in coreutils you can use:
make TESTS=tests/printf/printf-cov.pl SUBDIRS=. check