On Mar 30, 2023, at 9:48 AM, Pádraig Brady <p...@draigbrady.com> wrote: > > On 30/03/2023 09:20, A. Wilcox wrote: >> Hello, >> While updating coreutils to 9.2 on Adélie Linux, I’ve run into a few >> interesting corner-cases in the test suite. As a note, our distribution >> is using musl as the libc. >> 1. `tests/misc/csplit-heap.sh` fails when /bin/sh is Bash >> I actually saw this on 9.1 as well, but I only saw it on one system and >> considered it a fluke since our auto builder infrastructure didn’t see >> the issue. Seeing it again in 9.2 made me look deeper, and it turns out >> that when /bin/sh is a symlink to /bin/bash, the test fails with: >> ./tests/misc/csplit-heap.sh: xmalloc: cannot allocate 16085 bytes >> When /bin/sh is a symlink to /bin/dash, the test no longer fails. >> However: > > The attached should fix that issue.
Confirmed, this patch fixed it - thank you! > >> 2. `tests/misc/tee.sh` fails when /bin/sh is Dash and `make` is run >> under Zsh >> When running the test suite from my default Zsh environment, and when >> /bin/sh is a symlink to /bin/dash, I receive an error when running the >> tee test. >> If: >> - /bin/sh is a symlink to /bin/bash; OR if >> - /bin/sh is a symlink to /bin/dash, and >> - make is launched from a Bash or Dash shell, *not* a Zsh shell, >> Then the test passes. > > This is failing as `yes >fifo` is getting EINTR on your shell. > I'm not too sure why that's happening, but it might be > due to interactions on the fifo from the previous part of the test. > > Does the following change avoid the problem for you? > > cheers, > Pádraig > > diff --git a/tests/misc/tee.sh b/tests/misc/tee.sh > index 0b97a9ea3..444cb688a 100755 > --- a/tests/misc/tee.sh > +++ b/tests/misc/tee.sh > @@ -99,7 +99,7 @@ dd count=20 bs=100K if=/dev/zero status=none | > dd count=0 oflag=nonblock status=none > tee || { cleanup_; touch tee.fail; } > } >fifo > -test -f tee.fail && fail=1 > +test -f tee.fail && fail=1 || cleanup_ > > # Ensure tee honors --output-error modes > read_fifo() { timeout 10 dd count=1 if=fifo of=/dev/null status=none & } This also fixed the Zsh issue, indeed. Best, -A.