tests: replace GNU-derived material with original coverage - #14004
Open
sylvestre wants to merge 6 commits into
Open
tests: replace GNU-derived material with original coverage#14004sylvestre wants to merge 6 commits into
sylvestre wants to merge 6 commits into
Conversation
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.
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
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.
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.
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
sylvestre
force-pushed
the
license-cleanup-v2
branch
from
August 18, 2026 19:52
2730e91 to
fadcb4a
Compare
|
GNU testsuite comparison: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.