- revert https://github.com/uutils/coreutils/pull/9614 because `Command::exec()` resets the default signal handler for SIGPIPE, interfering with the option `--ignore-signal=PIPE`
- add regression-test for --ignore-signal=PIPE
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
* feat(env): add signal handling options and logging
- 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
* feat: Add `__ALL__` signal option, improve signal argument parsing, and prevent ignoring uncatchable signals.
* fix: Preserve inherited SIGPIPE behavior using `RUST_SIGPIPE` environment variable and `uucore`'s new handler.
* style: reformat code, reorder imports, and remove trailing blank lines
* chore: update spell-checker ignore lists for technical terms
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.
* fix(env): Skip invalid signals instead of failing
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.
For some unclear reason, Android _now_ sometimes returns an
IsADirectory error, instead of PermissionDenied, when trying
to execute `.`.
Since this test really wants to test PermissionDenied, we try
to execute a file in the fixture instead, that doesn't have
exec permission.
Also, limit this test to Unix.
Fixes part of #7542.
* Added error handling to ensure '=' after -u returns 125 as '=' is not allowed
* Added tests for disallow = on short options
* Added error handling to ensure '=' after -u returns 125 as '=' is not allowed
* Added tests for disallow = on short options
* Disallow only short unset option from having '=' as its starting character
* Remove needless tests and update function name for clarity