Skip to content

util/build-gnu.sh: Bypass timeout/yes SIGPIPE handling bug#8353

Merged
cakebaker merged 1 commit intouutils:mainfrom
drinkcat:gnu-fix-sigpipe-test
Jul 22, 2025
Merged

util/build-gnu.sh: Bypass timeout/yes SIGPIPE handling bug#8353
cakebaker merged 1 commit intouutils:mainfrom
drinkcat:gnu-fix-sigpipe-test

Conversation

@drinkcat
Copy link
Copy Markdown
Collaborator

See #7252, both timeout and yes reset the SIGPIPE handler (actually, the Rust core does that), leading to trap_sigpipe_or_skip_ test:

(trap '' PIPE && timeout 10 yes |:) 2>&1 | grep 'Broken pipe'

to fail, causing 4 tests to be skipped.

I believe the intent here is to check if the OS supports SIGPIPE, so it probably makes sense to use System's timeout/yes here, and run the tests anyway (which, happen to pass).

See uutils#7252, both `timeout` and `yes` reset the SIGPIPE handler
(actually, the Rust core does that), leading to trap_sigpipe_or_skip_
test:
```
(trap '' PIPE && timeout 10 yes |:) 2>&1 | grep 'Broken pipe'
```
to fail, causing 4 tests to be skipped.

I believe the intent here is to check if the OS supports SIGPIPE,
so it probably makes sense to use System's timeout/yes here, and
run the tests anyway (which, happen to pass).
@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

GNU test failed: tests/env/env-signal-handler. tests/env/env-signal-handler is passing on 'main'. Maybe you have to rebase?
GNU test failed: tests/printf/printf-surprise. tests/printf/printf-surprise is passing on 'main'. Maybe you have to rebase?
GNU test failed: tests/seq/seq-epipe. tests/seq/seq-epipe is passing on 'main'. Maybe you have to rebase?
GNU test failed: tests/tail/pipe-f. tests/tail/pipe-f is passing on 'main'. Maybe you have to rebase?
Skip an intermittent issue tests/misc/tee (fails in this run but passes in the 'main' branch)

@drinkcat
Copy link
Copy Markdown
Collaborator Author

Weird, those 4 GNUtest failure didn't happen for me.

I cleaned up my local gnu repo and now I see them too, so I think they are real.

This is ok BTW, it's more accurate to mark those tests as FAILed than SKIPed IMHO.

@cakebaker cakebaker merged commit 544a313 into uutils:main Jul 22, 2025
112 of 122 checks passed
@cakebaker
Copy link
Copy Markdown
Contributor

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants