Commit Graph

17657 Commits

Author SHA1 Message Date
oech3 ef8fcf6e76 README.md: Avoid losting unix specific progs (#9867) 2025-12-28 23:24:12 +01:00
Sylvestre Ledru 8a40150b89 fix test_backup_mode_suffix_without_backup_option test on mac (#9891)
* fix test_backup_mode_suffix_without_backup_option test on mac
2025-12-28 22:37:02 +01:00
Sylvestre Ledru d946dce1a9 * mac: increase tail test delays to fix intermittent failure 2025-12-28 20:35:26 +01:00
oech3 acd6f598a5 CONTRIBUTING.md: Bug report with LANG=C (#9890)
* CONTRIBUTING.md: Bug report with LANG=C

* Apply suggestion

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2025-12-28 17:48:52 +01:00
Daniel Hofstetter 3162c21db8 Merge pull request #9886 from sylvestre/fr-translation
ptx: add missing french translation
2025-12-28 13:38:05 +01:00
Chris Dryden 528073053e ls: Add SMACK support (#9868)
* Add SMACK support for ls utility

* More idiomatic match statement

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>

* More idiomatic match statement for getting label

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>

* ls: fix smack formatting and cache is_smack_enabled result

* ls: use translate!() macro for SELinux warning messages

* Move SMACK locale strings to ls-specific locale file to avoid performance regression

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2025-12-28 11:41:29 +01:00
Sylvestre Ledru 712560894b ptx: add missing french translation
missing in https://github.com/uutils/coreutils/pull/9682
2025-12-28 11:39:00 +01:00
Rostyslav Toch 5b70ed40f1 Merge pull request #9682 from CrazyRoka/ptx-implement-sentence-regexp
ptx: implement -S/--sentence-regexp
2025-12-28 11:35:49 +01:00
Daniel Hofstetter 1883daf9da Merge pull request #9880 from uutils/renovate/bigdecimal-0.x-lockfile
chore(deps): update rust crate bigdecimal to v0.4.10
2025-12-28 10:25:38 +01:00
Daniel Hofstetter 15e63ab7e6 Merge pull request #9878 from uutils/renovate/proc-macro2-1.x-lockfile
chore(deps): update rust crate proc-macro2 to v1.0.104
2025-12-28 10:20:50 +01:00
renovate[bot] 4198bd7c71 chore(deps): update rust crate bigdecimal to v0.4.10 2025-12-28 00:54:24 +00:00
renovate[bot] c781aacbfb chore(deps): update rust crate proc-macro2 to v1.0.104 2025-12-27 17:40:39 +00:00
Daniel Hofstetter dd08296e8b Merge pull request #9874 from sylvestre/env2-dedup
env: dedup some code
2025-12-27 16:47:18 +01:00
Dorian Péron 1aac2ec9da Merge pull request #9743 from oech3/patch-1
Avoid wrong PASS of cp-mv-enotsup-xattr runcon-compute and enable 1 test
2025-12-27 15:11:56 +01:00
oech3 e7553732c1 Avoid wrong PASS and enable 1 test 2025-12-27 22:37:31 +09:00
Sylvestre Ledru 51d6efdf4c Merge pull request #9337 from blyxxyz/lossy-string-cleanup
Remove lossy OS string conversions
2025-12-27 11:16:05 +01:00
Chris Dryden e6467b1a19 mv: Adding fixes for i-3 GNU tests related to tty output when file is not writeable (#9599)
* Adding fixes for i-3 GNU tests related to tty output when file is not writeable

* Removed translation zero stripping hack and fixed clippy and spelling errors

* Removed unused windows import

* Addressing comments and cleaning up tests

* Spellcheck fixes

* Replacing helper function in other places too

* mv: address review comments - reorder enum, cache mode, safer defaults
2025-12-27 01:14:11 +01:00
mattsu da543cb76e fix(wc):GNU wc-cpu.sh (#9144)
* wc: align SIMD policy integration

- use SimdPolicy::detect with hardware feature labeling
- keep SIMD behavior respecting GLIBC_TUNABLES
- consolidate wc SIMD debug output and tests

* refactor(wc): simplify SIMD feature collection in debug output

- Changed multi-line SIMD feature vector creation to a single-line expression for improved readability and consistency with surrounding code.
- No functional changes; only stylistic refactoring in the wc debug logic.

* feat(wc): enhance debug output for SIMD hardware support limitations

Add new localization strings and logic to provide detailed debug information when SIMD support is limited by GLIBC_TUNABLES, including lists of disabled and enabled features. Refactor SIMD allowance check for better accuracy in detecting runtime support.

* refactor: consolidate SIMD feature handling in wc command

Refactor SIMD feature detection and reporting in the wc utility by introducing a WcSimdFeatures struct to group enabled, disabled, and runtime-disabled features. This replaces multiple separate functions with a single function, improving code organization and efficiency by reducing redundant iterations over feature lists. Also rename helper functions for clarity and update debug output logic accordingly.

* Update src/uu/wc/src/wc.rs

Co-authored-by: Dorian Péron <72708393+RenjiSann@users.noreply.github.com>

* Update src/uu/wc/locales/en-US.ftl

Co-authored-by: Dorian Péron <72708393+RenjiSann@users.noreply.github.com>

* Update src/uu/wc/locales/fr-FR.ftl

Co-authored-by: Dorian Péron <72708393+RenjiSann@users.noreply.github.com>

* feat(wc): import show_error for enhanced error reporting

Add the show_error import from uucore to enable better error handling in the wc utility, allowing for consistent error messages in line with the project's style.

---------

Co-authored-by: Dorian Péron <72708393+RenjiSann@users.noreply.github.com>
2025-12-27 01:06:08 +01:00
Cả thế giới là Rust ec063a7c37 Added unit tests for stty.rs to improve test coverage (#9094)
* stty: Add 101 unit tests and 16 integration tests to improve coverage

Add comprehensive test coverage for stty:

Unit tests (src/uu/stty/src/stty.rs):
- Flag struct methods and builder pattern (7 tests)
- Control character parsing and formatting (19 tests)
- All combination settings expansion (26 tests)
- Termios modification functions (13 tests)
- String-to-flag/combo/baud parsing (19 tests)
- TermiosFlag trait implementations (5 tests)
- Helper and utility functions (10 tests)
- Trait implementations (2 tests)

Integration tests (tests/by-util/test_stty.rs):
- Help and version output validation (2 tests)
- Invalid argument handling (3 tests)
- Control character overflow validation (2 tests)
- Grouped flag removal validation (1 test)
- File argument error handling (1 test)
- Conflicting print modes (1 test)
- Additional TTY-dependent tests (6 tests, ignored in CI)

Unit test coverage improved from 0% to 43.76% (207/473 lines).
Integration tests validate argument parsing and error handling.

Addresses #9061

* stty: Add essential unit tests and integration tests to improve coverage

- Added 11 essential unit tests for complex internal functions:
  * Control character parsing (string_to_control_char)
  * Control character formatting (control_char_to_string)
  * Combination settings expansion (combo_to_flags)
  * Terminal size parsing with overflow handling (parse_rows_cols)
  * Sane control character defaults (get_sane_control_char)

- Added 16 integration tests for command behavior:
  * Help/version output validation
  * Invalid argument handling
  * Control character overflow validation
  * Grouped flag removal validation
  * File argument error handling
  * Conflicting print modes
  * TTY-dependent tests (marked as ignored for CI)

Unit tests focus on complex parsing logic that's difficult to test via
integration tests. Integration tests validate actual command behavior.

Coverage improved from 0% to 43.76% (207/473 lines).

Fixes #9061

* stty: Add comprehensive unit and integration tests for error handling

- Add unit tests for parse_rows_cols() with edge cases and wraparound
- Add unit tests for string_to_baud() with platform-specific handling
- Add unit tests for string_to_combo() with all combo modes
- Add 17 integration tests for missing arguments and invalid inputs
- Enhance test_invalid_arg() with better error message assertions
- Update coverage script for improved reporting

Coverage improved from 22.26% to 23.14% regions.

* stty: Add Debug and PartialEq derives for test assertions

- Add #[derive(Debug, PartialEq)] to AllFlags enum
- Add PartialEq to Flag struct derives
- Enables assert_eq! macro usage in unit tests

* stty: Fix formatting and clippy warnings in tests

- Replace assert_eq! with assert! for boolean comparisons
- Fix line wrapping for long logical expressions
- Use inline format string syntax (e.g., {err} instead of {})
- All 25 unit tests pass
- No clippy warnings

* stty: Add inline spell-checker ignores for test strings

- Add spell-checker:ignore comments for test data (notachar, notabaud, susp)
- Add spell-checker:ignore comments for French error strings (Valeur, entier, invalide)
- Fixes cspell validation without modifying global config

* perf: gate PartialEq derive to test builds only

The PartialEq derive was being compiled into release builds even though
it's only used in test code. This caused a 3.33% performance regression
in the du_human_balanced_tree benchmark due to increased binary size
affecting CPU cache efficiency.

Changes:
- stty.rs: Gate PartialEq derive on Flag<T> with #[cfg_attr(test, derive(PartialEq))]
- flags.rs: Gate PartialEq derive on AllFlags enum with #[cfg_attr(test, derive(PartialEq))]

This eliminates the performance regression while keeping all test code
functional and unchanged.

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2025-12-27 00:48:07 +01:00
Sylvestre Ledru fa0f161da9 env: dedup some code 2025-12-27 00:27:24 +01:00
mattsu c0b96841d7 env:Improve GNU coreutils Compatibility & Fix env-signal-handler.sh Test (#9465)
* 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.
2025-12-27 00:16:36 +01:00
Chris Dryden dbfe7c56ab stty: columns env support and integration testing (#9490)
* stty: Wrap parameters when using --all

Do the same as GNU stty when it has to prints the parameter, doing
proper text wrapping

* Adding integration tests for the COLUMNS env variable support in stty

* Adding integration tests for the COLUMNS env variable support in stty

---------

Co-authored-by: Marco Trevisan (Treviño) <mail@3v1n0.net>
2025-12-27 00:13:33 +01:00
Chris Dryden 7cce907c0e Stty: implemented hex and octal parsing for rows and columns (#9516)
* Implemented hex and octal parsing for row columns for stty

* Adding more test cases with different upper and lowercase values

* stty: use ExtendedParser for hex/octal row/col parsing
2025-12-27 00:11:45 +01:00
mattsu 57d3fce29e chroot: use execvp directly instead of process::Command (#9013)
* chroot: exec command with Command::exec and map errors

* test(chroot): add error handling and UID/GID retention tests

* chore(cspell): add noexec to jargon wordlist
2025-12-26 23:59:06 +01:00
Christopher Dryden 6f37a24b18 uucore: document that libselinux caches is_selinux_enabled 2025-12-26 23:57:02 +01:00