Merge pull request #8353 from drinkcat/gnu-fix-sigpipe-test

util/build-gnu.sh: Bypass timeout/yes SIGPIPE handling bug
This commit is contained in:
Daniel Hofstetter 2025-07-22 10:57:58 +02:00 committed by GitHub
commit 544a313fcb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 6 deletions

View file

@ -60,6 +60,13 @@ elif [ -x /usr/local/bin/timeout ]; then
SYSTEM_TIMEOUT="/usr/local/bin/timeout"
fi
SYSTEM_YES="yes"
if [ -x /usr/bin/yes ]; then
SYSTEM_YES="/usr/bin/yes"
elif [ -x /usr/local/bin/yes ]; then
SYSTEM_YES="/usr/local/bin/yes"
fi
###
release_tag_GNU="v9.7"
@ -212,6 +219,11 @@ sed -i "s|warning: unrecognized escape|warning: incomplete hex escape|" tests/st
sed -i 's|timeout |'"${SYSTEM_TIMEOUT}"' |' tests/tail/follow-stdin.sh
# trap_sigpipe_or_skip_ fails with uutils tools because of a bug in
# timeout/yes (https://github.com/uutils/coreutils/issues/7252), so we use
# system's yes/timeout to make sure the tests run (instead of being skipped).
sed -i 's|\(trap .* \)timeout\( .* \)yes|'"\1${SYSTEM_TIMEOUT}\2${SYSTEM_YES}"'|' init.cfg
# Remove dup of /usr/bin/ and /usr/local/bin/ when executed several times
grep -rlE '/usr/bin/\s?/usr/bin' init.cfg tests/* | xargs -r sed -Ei 's|/usr/bin/\s?/usr/bin/|/usr/bin/|g'
grep -rlE '/usr/local/bin/\s?/usr/local/bin' init.cfg tests/* | xargs -r sed -Ei 's|/usr/local/bin/\s?/usr/local/bin/|/usr/local/bin/|g'

View file

@ -1,11 +1,5 @@
# spell-checker:ignore epipe readdir restorecon SIGALRM capget bigtime rootfs enotsup
= trapping SIGPIPE is not supported =
* tests/tail-2/pipe-f.sh
* tests/misc/seq-epipe.sh
* tests/misc/printf-surprise.sh
* tests/misc/env-signal-handler.sh
= skipped test: breakpoint not hit =
* tests/tail-2/inotify-race2.sh
* tail-2/inotify-race.sh