env:Improve GNU coreutils Compatibility & Fix env-signal-handler.sh Test#9465
env:Improve GNU coreutils Compatibility & Fix env-signal-handler.sh Test#9465sylvestre merged 6 commits intouutils:mainfrom
Conversation
|
GNU testsuite comparison: |
|
GNU testsuite comparison: |
|
Any chance theres a clean way to split the compatibility fixes from the test fixes? Its just quite a big CR to review and its hard to match the tests to the code changes. Maybe at least splitting the changes in the other bins? |
separate this PR |
|
GNU testsuite comparison: |
|
GNU testsuite comparison: |
src/uu/seq/src/seq.rs
Outdated
| match result { | ||
| Ok(()) => Ok(()), | ||
| Err(err) if err.kind() == std::io::ErrorKind::BrokenPipe => { | ||
|
|
There was a problem hiding this comment.
please remove this change
|
GNU testsuite comparison: |
- Add default-signal, block-signal, and list-signal-handling options - Support specifying, tracking, and reporting signal handling changes - Update en-US and fr-FR locales to document new signal options
…nd prevent ignoring uncatchable signals.
…ment variable and `uucore`'s new handler.
Added 'Sigmask' to ignore list in env.rs and 'sighandler' in test_env.rs to suppress false positives from spell-checker on legitimate specialized words.
Previously, the signal handling functions (`apply_default_signal`, `apply_ignore_signal`, and `apply_block_signal`) would return an error if `signal_from_value` got an invalid signal. This change modifies the code to skip invalid signals and continue processing, aligning with GNU env's behavior of ignoring undefined signals on certain platforms where `ALL_SIGNALS` may include invalid values. This improves compatibility and robustness.
810ffa5 to
06deb6a
Compare
|
GNU testsuite comparison: |
|
I'm confused. Why is the support for |
Key Improvements
Increased GNU coreutils compatibility by aligning behavior with upstream implementations and addressing differences in edge-case handling.
Fixed the env-signal-handler.sh test, ensuring correct signal propagation and consistent behavior across platforms.
Added minor adjustments to internal logic to better emulate GNU semantics and reduce divergence.
Why This Matters
Improving compatibility helps maintain predictable behavior for users migrating from GNU coreutils. Successfully passing the env-signal-handler.sh test strengthens signal-handling reliability and contributes to overall test suite stability.