On 24/03/2024 16:15, Bruno Haible wrote:
The uniq/uniq test fails on Solaris 11 OpenIndiana.test-suite.log on Solaris 11 OpenIndiana: FAIL: tests/uniq/uniq ===================== schar... uniq: test schar: stdout mismatch, comparing schar.2 (expected) and schar.O (actual) *** schar.2 Sun Mar 24 13:24:44 2024 --- schar.O Sun Mar 24 13:24:44 2024 *************** *** 1 **** --- 1,2 ---- y z + � y z
I think the issue here is a mismatch between the system's isblank() and gnulib's c32isblank(). I.e. Solaris 11 isblank() returns true for non breaking space. The coreutils test uses tr (isblank) to determine if \xa0 is blank, which it does do on this system, while uniq (c32isblank) now determines it is not blank (which seems more correct). The only solaris 11 system I have access to, only has the fr_FR.UTF-8 locale installed, not the unibyte version, but interestingly on that I can see that the system uniq treats non breaking space as blank. I.e. isblank() also seems to be true on Solaris for non breaking space in UTF-8. $ printf " y z\n\xc2\xa0 y z\n" | LC_ALL=fr_FR.UTF-8 uniq -f1 y z I think I'll leave the test as is for now to at least highlight this mismatch. Note the test was originally checking for signed char handling (\xa0 being greater than \x7f), which may be overkill now given the new character handling code in place. cheers, Pádraig
