fix(seq):GNU seq-epipe.sh
Summary
Add a constructor hook that records whether SIGPIPE was already set to SIG_IGN before the std runtime mutates it, so seq can detect when the shell explicitly ignores the signal. Have sigpipe_is_ignored() simply read the captured flag, letting the utility treat EPIPE as a write error only when SIGPIPE is being ignored externally (matching the GNU seq expectation and the seq-epipe.sh test). Document the safety of the capture_sigpipe_state initializer so Clippy is satisfied.
Testing
cargo build -p uu_seq --bin seq trap "" PIPE && { ./target/debug/seq inf 2>err; echo $? >code; } | head -n1
related https://github.com/uutils/coreutils/issues/9127
GNU testsuite comparison:
Skip an intermittent issue tests/misc/tee (fails in this run but passes in the 'main' branch)
Skip an intermittent issue tests/tail/overlay-headers (fails in this run but passes in the 'main' branch)
Congrats! The gnu test tests/seq/seq-epipe is no longer failing!
i guess it is pretty but would it be possible to add a test? thanks
GNU testsuite comparison:
Skip an intermittent issue tests/tail/overlay-headers (fails in this run but passes in the 'main' branch)
Congrats! The gnu test tests/seq/seq-epipe is no longer failing!
some lints are failing
CodSpeed Performance Report
Merging #9184 will not alter performance
Comparing mattsu2020:seq_compatibility (02875d0) with main (5be7f83)
Summary
✅ 126 untouched
⏩ 6 skipped[^skipped]
[^skipped]: 6 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.
GNU testsuite comparison:
Congrats! The gnu test tests/seq/seq-epipe is no longer failing!
GNU testsuite comparison:
Skipping an intermittent issue tests/misc/tee (passes in this run but fails in the 'main' branch)
GNU testsuite comparison:
Congrats! The gnu test tests/seq/seq-epipe is no longer failing!