Commit graph

12410 commits

Author SHA1 Message Date
Sylvestre Ledru
1691127c79
Merge pull request #6001 from BenWiederhake/dev-dd-small-times
dd: fix flaky test_final_stats_unspec
2024-02-23 08:33:35 +01:00
Sylvestre Ledru
9af65c0397
Merge pull request #5999 from BenWiederhake/dev-tr-squeeze-last-set
tr: Properly handle deleting and squeezing
2024-02-23 08:33:13 +01:00
Ben Wiederhake
ede944e1f8 dd: fix flaky test_final_stats_unspec
If the first four decimal digits are zero, GNU dd elides them altogether.
Here's an execution on my PC:

```console
$ for i in $(seq 20000); do LC_ALL=C gnu_dd if=/dev/null of=/dev/null \
    2>&1; done | grep copied | grep -E ' [0-9]e'
0 bytes copied, 1e-05 s, 0 B/s
0 bytes copied, 9e-06 s, 0.0 kB/s
```

Our implementation conforms to this, resulting in the following CI flake:

```
---- test_dd::test_final_stats_unspec stdout ----
run: D:\a\coreutils\coreutils\target\x86_64-pc-windows-gnu\debug\coreutils.exe dd
thread 'test_dd::test_final_stats_unspec' panicked at 'Stderr does not match regex:
0+0 records in
0+0 records out
0 bytes copied, 8e-05 s, 0.0 B/s
', tests\by-util\test_dd.rs:280:10
stack backtrace:
   0: rust_begin_unwind
             at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library\std\src/panicking.rs:578:5
```

Of course, this is just an overly strict regex in the test. This was a
one-in-tenthousand flaky test.
2024-02-23 06:24:11 +01:00
Ben Wiederhake
617f3a8b6f tr: when deleting and squeezing, never complement set2 2024-02-23 06:08:37 +01:00
Ben Wiederhake
b3d8344d1d split: don't flake even on exotic pipe buffer sizes 2024-02-23 05:42:29 +01:00
Ben Wiederhake
44c59a6d28 numfmt: don't flake even on exotic pipe buffer sizes 2024-02-23 05:42:29 +01:00
Ben Wiederhake
bcd2d888a1 cat: don't flake even on exotic pipe buffer sizes
See also 9995c637aa.

There is a race condition between the writing thread and the command.
It is easily possible that on the developer's machine, the writing
thread is always faster, filling the kernel's buffer of the stdin pipe,
thus succeeding the write. It is also easily possible that on the busy
CI machines, the child command runs first for whatever reason, and exits
early, thus killing the pipe, which causes the later write to fail. This
results in a flaky test. Let's prevent flaky tests.
2024-02-23 05:42:17 +01:00
Ben Wiederhake
9fa808fb5e sort: add skipped test for combined flags
Now that clap#2624 has been resolved, we can and should test both variants.
2024-02-23 05:42:01 +01:00
Ben Wiederhake
868600cac9 tee: fail test if string setup fails 2024-02-23 05:42:01 +01:00
Ben Wiederhake
48c4b57c97 tr: require second string argument when deleting and squeezing 2024-02-23 03:23:07 +01:00
Ben Wiederhake
27030e9f53 touch: re-enable test, fix typo in expected error messge 2024-02-23 00:21:19 +01:00
Ben Wiederhake
e50eb19056 head: fix 'test_spams_newline' to check *against* newline spam
The comment was introduced in commit 8320b1ec5f,
the test was introduced in commit c1f518e586
claiming to be about "failing GNU head tests".

However, a simple check reveals no such difference:

```console
$ echo -n a | hd
00000000  61                                                |a|
00000001
$ echo -n a | head | hd  # GNU head
00000000  61                                                |a|
00000001
$ echo -n a | cargo run -- head | hd
00000000  61                                                |a|
00000001
$ echo -n a | busybox head | hd
00000000  61                                                |a|
00000001
$
```

Looking at the GNU tests directly, it seems that there is a similar, but different test.
2024-02-23 00:21:19 +01:00
Terts Diepraam
69ea02d9b0
Merge pull request #5989 from BenWiederhake/dev-shuf-echo-anywhere
shuf: treat -e as a flag, not as a multi-value arg
2024-02-23 00:16:42 +01:00
Ben Wiederhake
a29f68b720 shuf: Do not read input when -n0 is given
This is explicitly tested by some suites, including the GNU test suite.
2024-02-22 23:50:03 +01:00
Ben Wiederhake
a59924ece5 shuf: treat -e as a flag, not as a multi-value arg 2024-02-22 23:22:35 +01:00
Sylvestre Ledru
f7821cd0d2
Merge pull request #5995 from cakebaker/factor_enable_debug_assert
factor: enable a debug_assert! statement
2024-02-22 16:51:54 +01:00
Sylvestre Ledru
c8ce04e310
Merge pull request #5996 from cakebaker/shuf_add_missing_word
shuf: add missing word to BENCHMARKING.md
2024-02-22 16:46:06 +01:00
Daniel Hofstetter
999303e0d4 shuf: add missing word to BENCHMARKING.md 2024-02-22 15:13:54 +01:00
Daniel Hofstetter
4da633b835 factor: enable a debug_assert! statement 2024-02-22 09:33:29 +01:00
Sylvestre Ledru
4dba45d1da
Merge pull request #5988 from cakebaker/fix_imported_redundantly_warnings
Fix "item x imported redundantly" warnings
2024-02-20 08:17:06 +01:00
Daniel Hofstetter
725da985c1 Fix "item x imported redundantly" warnings 2024-02-19 15:39:37 +01:00
Terts Diepraam
177ac7ea28
stat: use chrono instead of time in fsext (#5934)
* stat: use chrono instead of time in fsext

This removes the dependency of `fsext` on `time` and it cleans up the code.

* stat: use chrono instead of time in fsext

This removes the dependency of `fsext` on `time` and it cleans up the code.

* stat: fix two errors from clippy & spell-checker

* stat: move fn to fix clippy error

* stat: print - if birth time unknown

* uucore/fsext: fix "unused import" error on Windows

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-02-19 10:21:26 +01:00
Sylvestre Ledru
33785c93a3
Merge pull request #5983 from cakebaker/printf_set_lc_all_for_fuzzing
fuzzing: set LC_ALL=C when running GNU printf
2024-02-18 15:20:09 +01:00
Sylvestre Ledru
9866f022a8
Merge pull request #5987 from tertsdiepraam/expand-remove-collect-ignore
`expand`: do not ignore invalid UTF-8
2024-02-18 15:19:47 +01:00
Terts Diepraam
913656be9d expand: do not ignore invalid UTF-8 2024-02-18 14:26:23 +01:00
Daniel Hofstetter
f0a6593aa6
Merge pull request #5986 from tertsdiepraam/numfmt-invalid-utf8
`numfmt`: remove clap workaround
2024-02-18 14:25:24 +01:00
Terts Diepraam
4da6d58a6b numfmt: remove clap workaround 2024-02-18 13:32:00 +01:00
Daniel Hofstetter
88e1a35701
Merge pull request #5984 from cre4ture/fix/disable_test_od_test_f16_for_android_ci
disable failing test_od::test_f16() for android CI
2024-02-18 13:15:55 +01:00
Daniel Hofstetter
c78d2c038c
Merge pull request #5985 from uutils/renovate/textwrap-0.x
chore(deps): update rust crate textwrap to 0.16.1
2024-02-18 12:33:28 +01:00
renovate[bot]
d76b3103f0
chore(deps): update rust crate textwrap to 0.16.1 2024-02-17 20:06:01 +00:00
Ulrich Hornung
d6ca9e3800
disable failing test_od::test_f16() for android CI. 2024-02-17 18:24:09 +01:00
Daniel Hofstetter
a12d7c2b67
Merge pull request #5978 from BenWiederhake/dev-shuf-multi
shuf: include all echo args, not just the last
2024-02-17 16:22:52 +01:00
Daniel Hofstetter
89bad851e6 fuzzing: set LC_ALL=C when running GNU printf 2024-02-17 16:07:03 +01:00
Ben Wiederhake
b091911aae shuf: refuse multiple input ranges and multiple output files 2024-02-16 21:14:56 +01:00
Ben Wiederhake
69f23c2521 shuf: obey all headcount args, not just the last 2024-02-16 21:08:16 +01:00
Ben Wiederhake
07e8f4c7a5 shuf: include all echo args, not just the last 2024-02-16 20:49:59 +01:00
Daniel Hofstetter
420dfe8a9b
Merge pull request #5958 from tertsdiepraam/csplit-printf
`csplit`: use `printf` functionality from `uucore`
2024-02-16 14:39:03 +01:00
Terts Diepraam
fc82360f58 csplit: fix up tests and error message for filenames 2024-02-16 11:51:04 +01:00
Daniel Hofstetter
bfe6f0f004
Merge pull request #5979 from BenWiederhake/dev-shuf-null-input
shuf: Treat empty file as zero elements instead of one emptystring
2024-02-16 09:19:44 +01:00
David Matos
de74f707e9
uname: Refactor into public fns for Nushell (#5921)
* Refactor to use options struct and make it public for Nushell

* Return the output for use in nushell

* wip:opt1

* Add UNameOutput struct instead

* Apply req changes

* change back to mod options

* uname: add empty line & fix position of comment

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-02-16 08:53:36 +01:00
Ben Wiederhake
e54c9bebe2 shuf: Treat empty file as zero elements instead of one emptystring 2024-02-16 00:06:24 +01:00
Terts Diepraam
c9677abeed
Merge pull request #5977 from cakebaker/ln_fix_help_text
ln: fix help text
2024-02-15 16:44:53 +01:00
Daniel Hofstetter
35141deeee ln: fix help text 2024-02-15 14:38:26 +01:00
Daniel Hofstetter
9f2e426bf2 ci: use codecov token in CICD/GnuTests workflows 2024-02-15 12:23:01 +01:00
Daniel Hofstetter
629a926829
Merge pull request #5973 from biplab5464/issue_4924
pr: use chrono instead of time in tests #5972
2024-02-15 09:30:27 +01:00
biplab5464
04c821ca78 pr: use chrono instead of time in tests #5972 2024-02-14 23:08:34 +05:30
Daniel Hofstetter
6adaf31d49
Merge pull request #5962 from wolimst/cut/fix/multiple-mode-args
cut: show error for multiple mode args (`-b`, `-c`, `-f`)
2024-02-14 14:23:47 +01:00
wolimst
6bec96aad1 cut: refactor mode args counting by removing nested map 2024-02-14 20:02:42 +09:00
BaherSalama
5603305e75
fix tr with any flag with more than 2 operands (#5952)
* fix tr

* add tests

* fix clippy

* fix clippy2

* do suggestions

* do suggestions

* remove mut

* tr: move var to block & remove its type

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-02-13 15:30:15 +01:00
Daniel Hofstetter
826cdbe3dc
Merge pull request #5940 from cre4ture/fix/stabilize_android_build_memory_kill_split
`split` fix android memory kill in split
2024-02-12 16:50:19 +01:00