Subject: Re: bug#74503: Test issues in "make check"

From: Pádraig Brady <[email-masked]>
Date: Sun, 24 Nov 2024 13:09:52 +0000

On 24/11/2024 05:34, Gordon Steemson wrote:
> Setup:  Coreutils package, v. 9.5; Power Mac G5 running OS 10.5.8 (Darwin 9.8.0).
> 
> When running `make check`, I noticed the following two problems.
> 
> - tests/ls/dired.sh can’t cope with the underlying file system stealthily applying normalization to the Unicode encoding, so I was presented with a failed test and an error message complaining that “2á != 2á”.

I pushed a fix to use æ instead, as that does not have a separate decomposed form.

> - tests/misc/tee.sh seems to be missing a pipe.  Without adding “ |” to the end of line 99, the test freezes solid because it waits forever for input that will never come.  I'm baffled that it works for anyone else... perhaps some bizarre quirk of shell syntax causes the output of one line to automagically become the input of the next, if conditions are correct?  The mechanism by which it is somehow accidentally working for other people is beyond my knowledge of shell scripting.

The script is OK I think. darwin 9 is old (nearly 20 years old now!),
so perhaps its poll vs select behavior is divergent enough with more recent macOS to be problematic.
Could you try with this adjustment to the code.
You can run that test in isolation with: make TESTS=tests/misc/tee.sh SUBDIRS=. check

diff --git a/src/iopoll.c b/src/iopoll.c
index 8e5c92dd8..9adc51bb2 100644
--- a/src/iopoll.c
+++ b/src/iopoll.c
@@ -23,7 +23,7 @@
     a readable event).  Also use poll(2) on systems we know work
     and/or are already using poll (linux).  */

-#if defined _AIX || defined __sun || defined __APPLE__ || \
+#if defined _AIX || defined __sun || \
      defined __linux__ || defined __ANDROID__
  # define IOPOLL_USES_POLL 1
    /* Check we've not enabled gnulib's poll module

cheers,
Pádraig