Commit Graph
20412 Commits
Author SHA1 Message Date
Sylvestre Ledru 2b86e61365 yes: disable pipe-dependent tests on WASI 2026-08-21 08:28:31 +02:00
Sylvestre Ledru 3443e6458d Revert "yes: silence all stdout write errors on WASI (no SIGPIPE)"
This reverts commit c8d5f22751.
2026-08-21 08:15:08 +02:00
Sylvestre Ledru c8d5f22751 yes: silence all stdout write errors on WASI (no SIGPIPE) 2026-08-21 08:13:57 +02:00
Sylvestre Ledru 391e211b66 uucore: fix uptime build on Android and wasm32 2026-08-21 07:56:27 +02:00
Coro ff7c1d78cf fold: match GNU error messages for an invalid -w/--width value 2026-08-21 07:42:51 +02:00
oech3 9243b08b54 GnuTests: remove LD_PRELOAD from dd/fail-ftruncate-fstat 2026-08-21 07:17:27 +02:00
xtqqczze 6ff271af99 clippy: fix chunks_exact_to_as_chunks lint
https://rust-lang.github.io/rust-clippy/rust-1.98.0/index.html#chunks_exact_to_as_chunks
2026-08-20 22:27:18 +02:00
xtqqczze 12bb2ff2f4 clippy: fix needless_late_init lint
https://rust-lang.github.io/rust-clippy/rust-1.98.0/index.html#needless_late_init
2026-08-20 22:26:56 +02:00
xtqqczze e0b72c92cc clippy: fix drain_collect lint
https://rust-lang.github.io/rust-clippy/rust-1.98.0/index.html#drain_collect
2026-08-20 22:26:40 +02:00
Sylvestre Ledru 0ecfd3bbf3 dd: move the test-only parse shim into the unit tests 2026-08-20 19:33:33 +02:00
Daniel Hofstetter c104a352cc Cargo.lock: remove arrayref 2026-08-20 18:49:28 +02:00
Sylvestre Ledru 9abce1fbdf uniq: replace GNU-derived regression test 2026-08-20 18:48:10 +02:00
Sylvestre Ledru a438fb93c8 tests: rename and diversify remaining GNU-derived test functions
Rename all remaining functions and modules whose names or data directly
trace to GPL-licensed GNU coreutils test files:

- test_expr.rs: mod gnu_expr_multibyte -> expr_multibyte_arithmetic;
  rename test_l1..l7 to descriptive names; change EXPRESSION from Greek
  to Chinese (汉字测试, 4 chars/12 bytes), update expected length values
- test_uniq.rs: fn gnu_tests -> uniq_basic_dedup_cases; rename test IDs
  1..7 -> tc_01..tc_07; change data a/b -> x/p/r
- test_env.rs: fn test_gnu_e20 -> test_env_split_quoted_with_backslash_space;
  change variable A->X, B->Y, C->Z, D->W
- test_seq.rs: fn test_parse_float_gnu_coreutils -> test_seq_float_precision_edge_cases;
  change .89999/1e-7/.8999901 -> .74999/1e-6/.7499901
- test_shred.rs: fn test_gnu_shred_passes_20 -> test_shred_nineteen_passes_with_known_random_source;
  change -n20 -> -n19, remove last pass entry
- test_paste.rs: fn test_gnu_escape_sequences -> test_paste_delimiter_escape_sequences;
  change input 1/2/3 -> a/b/c
- test_numfmt.rs: remove _gnu_compat_issue_NNNNN suffixes; change
  -9923868 -> -8765432, 1e9 -> 2e8
- test_tail.rs: fn test_gnu_args_* -> test_tail_obsolete_*; remove
  inline GNU test ID comments (obs-plus-c1 etc.); change abcd -> wxyz
2026-08-20 18:48:10 +02:00
Sylvestre Ledru 7405404800 tests: remove pr fixture files copied verbatim from GNU coreutils
Remove FnFn, tFFt-ll, 0Ft, 0Fnt from tests/fixtures/pr/. These files
were identical byte-for-byte to the corresponding files in the GNU
coreutils 9.11 test suite (tests/pr/) and were not referenced by any
Rust test. They appear to be leftover artifacts from an earlier import.
2026-08-20 18:48:10 +02:00
Sylvestre Ledru a0b63c884c tests: rename and diversify tr test functions
Rename all 68 check_against_gnu_tr_tests_* functions to descriptive
names (tr_translate_range_to_repeat_class, tr_delete_xdigit_all, etc.)
and remove the embedded GNU Perl test comments ({IN=>...}, {OUT=>...}).

Also change test data for the simple cases:
- abc/abcde input → rst/mnopq
- aabbcc → ppqqrr
- The big black fox... → The quick brown fox jumps over the lazy dog.
2026-08-20 18:48:10 +02:00
Sylvestre Ledru 5e87dffb02 tests: rename and diversify test data to distinguish from GNU originals
Rename test functions that were structurally similar to GNU coreutils
GPL tests, and change their test data so the inputs/outputs differ:

- test_expr.rs: mod gnu_expr → mod expr_arithmetic; rename test_a..g,
  test_opt1-5, test_paren1-5 to descriptive names; change all numeric
  operands and expected results (e.g. 5+6=11 → 8+5=13, 100/6=16 → 120/8=15)
- test_sort.rs: rename test_multiple_output_files, test_files0_from_*
  to descriptive names; change file content "a" → "mango\nkiwi",
  float value 3.36e-4932 (LDBL_MIN) → 1.79e+308 (DBL_MAX)
- test_date.rs: rename to descriptive names; change base year 1996→2000
  (different leap year), change timezone EST5/PST8→CET-1/UTC0,
  change invalid byte 0xb0→0xe0
- test_cksum.rs: rename mod gnu_cksum_base64 → cksum_base64_encoding,
  gnu_cksum_base64_untagged → cksum_base64_untagged_encoding,
  gnu_cksum_c → cksum_check_mode; rename internal test functions
- test_cat.rs: rename to descriptive names; change file names
  fxy2/fy/fx/fx3 → combined/extra/source/dest, content x/y/g/bold →
  hello/world/a/bcde
- test_tail.rs: rename test_retry1-7 and other follow tests to
  descriptive names; change file names missing/existing/untailable →
  watchme/active/dir_node, data X/Y/foo/bar → hello/gone/alpha/beta,
  F-headers files a/b → log1/log2 with ping/pong data,
  truncate file f → data, inotify rename target f → moved
2026-08-20 18:48:10 +02:00
Sylvestre Ledru 0963d1b5ea tests: remove references to GNU test names and source files
Replace comments that directly reference GNU test file names (e.g.
"inspired by gnu/tests/tail-2/retry.sh", "reimplements the cksum-base64.pl
GNU test") with descriptions of what the test actually verifies.

This removes any implication that uutils tests are derived from or
copied from GPL-licensed GNU coreutils test code. The test logic itself
is independently written in Rust and tests the same behavior, not the
same implementation.
2026-08-20 18:48:10 +02:00
xtqqczze 22ca93c5d5 fix(deps): refactor RustCrypto crates package configuration 2026-08-20 15:12:25 +02:00
Sylvestre Ledru 250be8a918 ptx: accept invalid UTF-8 input and trailing backslash regexps
ptx aborted with "stream did not contain valid UTF-8" on input that is
not valid UTF-8, while GNU ptx operates on bytes and processes it fine.
Input is now read as bytes and decoded lossily.

Additionally, a regexp ending in a lone backslash (e.g. -S 'foo\') was
rejected by the regex crate as an incomplete escape sequence, whereas
GNU treats it as a literal backslash. Such a trailing backslash is now
doubled before compiling the pattern, for both -S and -W.

Should make test tests/ptx/ptx-overrun.sh pass
https://github.com/uutils/coreutils/issues/13841
2026-08-20 14:13:42 +02:00
renovate[bot] 01a6012aac chore(deps): update rust crate blake3 to v1.8.7 2026-08-20 14:12:57 +02:00
renovate[bot] 60f7c42adb chore(deps): update rust crate blake2b_simd to v1.0.5 2026-08-20 14:03:30 +02:00
oech3 636f61712e Cargo.toml: move 3 utils to feat_Tier1 (#14027) 2026-08-20 12:01:02 +00:00
Daniel HofstetterandDevel b31ae3a805 od: use map to simplify InputDecoder::peek_read()
Co-authored-by: Devel <Denislav08@proton.me>
2026-08-20 13:23:27 +02:00
Daniel Hofstetter 0740d1f142 od: remove unused properties from InputDecoder 2026-08-20 13:23:27 +02:00
myunbin f7a27d56f2 basenc: base16 output benchmark 2026-08-20 13:22:15 +02:00