Commit graph

2789 commits

Author SHA1 Message Date
Ben Wiederhake
e91d0bd14f uniq: fix flaky test gnu_tests
The testcase tries to write to the stdin pipe while the process under
test is simultaneously exiting with an error code. Naturally, this is a
race, and we should ignore any stdin write errors. However, adding this
feature to the list makes it even more unreadable, and adds no real
value, so let's skip the input data entirely.
2024-02-25 17:59:09 +01:00
Ben Wiederhake
6834b593ee shuf: refuse repeating zero lines
This was a GNU behavior bug:

```console
$ LC_ALL=C shuf -er
shuf: no lines to repeat
[$? = 1]
$ cargo run shuf -er  # old, bad (unexpected success)
$ cargo run shuf -er  # new
shuf: no lines to repeat
[$? = 1]
```
2024-02-25 16:49:03 +01:00
Terts Diepraam
d7a09c042a
Merge pull request #6010 from BenWiederhake/dev-pr-fix-flaky-diff-timestamp
pr: Check the correct timestamp in test_with_pr_core_utils_tests
2024-02-25 11:46:39 +01:00
Sylvestre Ledru
174864566e
Merge pull request #6006 from BenWiederhake/dev-tr-multi-arg
tr: Correctly handle multiple appearances of flag-args
2024-02-25 09:51:40 +01:00
Sylvestre Ledru
8301a8e5be
Merge pull request #5980 from BenWiederhake/dev-shuf-number-speed
shuf: Fix OOM crash for huge number ranges
2024-02-25 09:50:49 +01:00
Yury Zhytkou
17174ab986
uniq: pass remaining GNU tests (#5994) 2024-02-25 09:45:37 +01:00
Ben Wiederhake
5fed98bb01 pr: check the correct timestamp in test_with_pr_core_utils_tests 2024-02-24 23:48:33 +01:00
Ben Wiederhake
445905a045 base32/base64/basenc: permit repeating -d/-i/-w flags 2024-02-24 21:11:18 +01:00
Ben Wiederhake
36e142aa15 basenc: use last given encoding, instead of priority list 2024-02-24 20:44:07 +01:00
Ben Wiederhake
c6f75c98b7 basenc: Test basic functionality
It's good that all encodings already work. Let's make sure they cannot regress!
2024-02-24 20:44:07 +01:00
Ben Wiederhake
44310f426c tr: enable passing -t multiple times 2024-02-24 18:37:45 +01:00
Ben Wiederhake
268af90843 tr: enable passing -s multiple times 2024-02-24 18:37:45 +01:00
Ben Wiederhake
352a8a5bd7 shuf: handle --input-range with huge number ranges
This requires special handling, because we cannot always generate all
possible strings beforehand, e.g. in the case of "-n 2 -i 0-2147483647".
2024-02-24 18:33:46 +01:00
Ben Wiederhake
dc664006fe tr: enable passing -d multiple times 2024-02-23 11:58:22 +01:00
Ben Wiederhake
cad94a69be tr: prevent passing options in the wrong place
Note: This requires using the DEPRECATED item Command::trailing_var_arg
in clap. This is going to be another
[problem with clap](https://github.com/tertsdiepraam/uutils-args/blob/main/docs/design/problems_with_clap.md).
2024-02-23 11:58:22 +01:00
Ben Wiederhake
d9b6675bbf tr: enable passing -c multiple times 2024-02-23 11:58:18 +01:00
Daniel Hofstetter
5a2e0c700e
Merge pull request #5990 from BenWiederhake/dev-shuf-head-null
shuf: Do not read input when -n0 is given
2024-02-23 09:01:14 +01:00
Sylvestre Ledru
208b2dbb51
Merge pull request #5997 from BenWiederhake/dev-unignore
Un-Ignore two tests that fail for nonsense reasons
2024-02-23 08:34:07 +01:00
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
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
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
Daniel Hofstetter
725da985c1 Fix "item x imported redundantly" warnings 2024-02-19 15:39:37 +01:00
Ulrich Hornung
d6ca9e3800
disable failing test_od::test_f16() for android CI. 2024-02-17 18:24:09 +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
Ben Wiederhake
e54c9bebe2 shuf: Treat empty file as zero elements instead of one emptystring 2024-02-16 00:06:24 +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
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
Terts Diepraam
3a21d27c1e uucore/format: ignore the 0 flag if a precision is specified 2024-02-10 12:22:11 +01:00
Terts Diepraam
5fbbfc75de csplit: add test for precision syntax 2024-02-10 11:59:41 +01:00
Terts Diepraam
3126e5f8a1 printf: fix padding and prefixes for unsigned ints 2024-02-09 13:28:18 +01:00
Terts Diepraam
4dae902429 printf: pad octal numbers with zeros on the left 2024-02-09 13:28:18 +01:00
wolimst
cb0ce0e1cb cut: show error for multiple mode args (-b, -c, -f) 2024-02-09 15:56:15 +09:00
Daniel Hofstetter
04ebd863a6 clippy: fix warnings introduced by Rust 1.76 2024-02-08 16:56:01 +01:00
Daniel Hofstetter
9995c637aa tr: fix intermittent test caused by pipe_in() 2024-02-08 07:25:09 +01:00
BaherSalama
5c2ae5be4f
fix tr with delete flag if more than 1 operand given (#5945)
* fix tr

* fix

* adding a test

* tr: rename test function

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-02-06 16:42:08 +01:00
Daniel Hofstetter
d2a75457f6 Fix errors reported by new version of cspell 2024-02-05 09:12:52 +01:00
Ludmuterol
96d96e7de3
more handle errors with multiple files (#4997)
* more handle errors with multiple files

* tests/more test refactor and new case

* tests/more new cases

* more: use show! and change exitstatus and adjust tests to new exitvalue

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2024-02-04 16:32:14 +01:00
Biplab Mochan Gartia
fd4e1cfb28
stat: should fail without arguments #5928 (#5935)
* stat: should fail without arguments #5928

* style and lint issue  stat: should fail without arguments #5928

* style and lint issue  stat: should fail without arguments #5928

* style and lint 2 issue  stat: should fail without arguments #5928

---------

Co-authored-by: biplab5464 <biplab5464@outlook.com>
2024-02-02 17:00:35 +01:00
Sylvestre Ledru
8691ec9a80
Merge pull request #5916 from cakebaker/du_non_existing
du: adapt error message to match GNU's
2024-01-30 17:13:37 +01:00
Sudhakar Verma
bd336ebbf1 dd: fail on missing number in count 2024-01-30 20:21:25 +05:30
Daniel Hofstetter
d1e1e9ce0f du: adapt error msg to match GNU's 2024-01-30 10:08:50 +01:00
Terts Diepraam
1b324da436 echo: do not infer long args 2024-01-29 17:40:22 +01:00
Daniel Hofstetter
74bcfff3e8 rm: add test for "rm .\dir\ -rf" on Windows
https://github.com/uutils/coreutils/issues/3200
2024-01-28 16:36:55 +01:00
kralo
5dccfc2441 cp: test_cp_preserve_xattr_fails_on_android disabled as its now failing to fail 2024-01-28 08:56:08 +01:00
kralo
3eba95728c factor: remove clippy exceptions by reformatting "unreadable literals"
Closes: #5884
2024-01-27 17:23:44 +01:00
Sylvestre Ledru
ae5f2bc0d0
Merge pull request #5875 from cakebaker/expand_make_tab_explicit_in_test
expand: make tab explicit in test
2024-01-26 14:36:48 +01:00
Daniel Hofstetter
c8cd355708 cut: set exit code to 1 if dir is specified 2024-01-26 10:18:44 +01:00
Daniel Hofstetter
5bd00eb791 cut: split test function into two functions 2024-01-26 10:09:28 +01:00
Daniel Lungu
61c730d1b3
expand: Continue work when one of given files doesn't exist (#5873)
* expand: continues work when one of given files doesn't exist

* fixed test for nonexisting file
2024-01-25 09:10:59 +01:00
Biplab Mochan Gartia
150b287fe8
unexpand: allow multiple files & show error message if a directory is specified
* unexpand: should allow multiple files #5852 and unexpand: show error message if a directory is specified #5845

* test file added for #5845 #5852

* test case test_multiple_files improve

* cakebaker suggestion for a better code #5845 #5852

---------

Co-authored-by: biplab5464 <biplab5464@outlook.com>
2024-01-24 16:01:26 +01:00
Daniel Hofstetter
8c4c6a53ec expand: make tab explicit in test 2024-01-24 09:46:27 +01:00
Daniel Hofstetter
f124910226
Merge pull request #5865 from sylvestre/md5sum-escape
hashsum: when the filename contains some special chars, escape them
2024-01-21 12:55:08 +01:00
Sylvestre Ledru
5e29c60b26 hashsum: when the filename contains some special chars, escape them
Should fix tests/cksum/md5sum-newline.pl
2024-01-20 19:27:45 +01:00
Laurent Cheylus
4589f637ee tests: disable tests for tools unsupported on OpenBSD
pinky, uptime and who are not supported on OpenBSD (no support of utmpx feature) => disable tests
for these tools on OpenBSD with conditional compilation

Signed-off-by: Laurent Cheylus <foxy@free.fr>
2024-01-19 17:37:45 +01:00
SaHHiiLL
746a7b14d0
tsort: returns error when input is dir - same as GNU tsort (#5860)
* fix: return error when input is dir

* test: when tsort is given a dir

* fix: do not need to mention tsort in error message

* test: using concrete directory name

* tsort: fix formatting in test

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-01-19 15:39:00 +01:00
Terts Diepraam
3bd9f0ec65
Merge pull request #5811 from spineki/fix-printf-hex-alternate-zero
Printf: Fix printf hex alternate zero
2024-01-17 10:28:30 +01:00
Ulrich Hornung
dc533a915a
install: fix strip program stdout and destination hyphen handling #5718 (#5848)
* Fix missing dependency to "process" to make it compile.

* fix issue of not forwarding stdout from strip program

* fix issue of applying "./" redundantly

* cargo fmt
2024-01-17 10:07:34 +01:00
Sylvestre Ledru
69c8753f80 cp test: use compare_xattrs from tests/utils 2024-01-16 13:12:02 +01:00
Sylvestre Ledru
2ec4e9f784 mv: preserve the xattr
Should make tests/mv/acl pass
2024-01-16 13:12:02 +01:00
Daniel Hofstetter
112eb21eb3
Merge pull request #5791 from sylvestre/handle-error
Handle better some errors
2024-01-15 15:19:10 +01:00
Sylvestre Ledru
fff83995fb
cp: --preserve should keep xattr (#5834)
* cp: --preserve should keep xattr

Should help with tests/cp/acl.sh

* Update tests/by-util/test_cp.rs

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Update tests/by-util/test_cp.rs

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* Update tests/by-util/test_cp.rs

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-01-15 10:59:04 +01:00
Sylvestre Ledru
b116a97fdc
add missing \n 2024-01-15 10:43:20 +01:00
Sylvestre Ledru
4557821adf
Merge branch 'main' into fix-printf-hex-alternate-zero 2024-01-15 10:41:09 +01:00
Biplab Mochan Gartia
076b905513
cksum: stops when one of given files doesn't exist #5809 (#5820)
* cksum: stops when one of given files doesn't exist #5809

* removed printld  cksum: stops when one of given files doesn't exist #5809

* formatting the code cksum: stops when one of given files doesn't exist #5809

* formatting the code cksum: stops when one of given files doesn't exist #5809

* set exist status cksum: stops when one of given files doesn't exist #5809

* code quality formatting issue cksum: stops when one of given files doesn't exist #5809

* tertsdiepraam idea cksum: stops when one of given files doesn't exist #5809

* one new test case and deleted duplicate show cksum: stops when one of given files doesn't exist #5809

* formatting the test cases cksum: stops when one of given files doesn't exist #5809

* Revert "formatting the test cases cksum: stops when one of given files doesn't exist #5809"

This reverts commit 8c382f1e8f.

* reverting the changes and committing again due to a mistake cksum: stops when one of given files doesn't exist #5809

---------

Co-authored-by: biplab5464 <biplab5464@outlook.com>
2024-01-15 09:37:56 +01:00
Sylvestre Ledru
36039a819d
Merge pull request #5739 from cakebaker/cp_backup_with_symlink_to_source
cp: backup dest symlink linking to source
2024-01-14 23:30:06 +01:00
Sylvestre Ledru
e3beda08ac
Merge pull request #5762 from cakebaker/cp_link_same_file
cp: show no "same file" error for `--link a a`
2024-01-14 23:29:33 +01:00
Sylvestre Ledru
ef03a4625f
Merge pull request #5806 from cakebaker/nl_is_a_directory
nl: don't exit if input is directory
2024-01-14 23:29:05 +01:00
Sylvestre Ledru
ae279c9961
Merge pull request #5818 from cakebaker/pathchk_no_args
pathchk: simplify and rename test
2024-01-14 23:28:42 +01:00
Sylvestre Ledru
3d356d47b3 expand: avoid an infinite loop 2024-01-14 23:27:00 +01:00
Sylvestre Ledru
8d24036f5c basenc: handle '--base32 .' arg 2024-01-14 23:27:00 +01:00
Sylvestre Ledru
4f33a375cd factor: handle the '< .' arg 2024-01-14 23:26:57 +01:00
Sylvestre Ledru
22a7173305
Merge pull request #5838 from cakebaker/head_fix_clippy_warnings_in_tests
head: fix clippy warnings in tests
2024-01-14 16:23:05 +01:00
Sylvestre Ledru
e01d5f75f7
ls: if acl are used, show the + in the perms (#5816)
* ls: if acl are used, show the + in the perms

Tested by tests/mkdir/p-acl.sh

* CICD.yml: fix small formatting issue

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-01-14 15:57:22 +01:00
Daniel Hofstetter
aeee56b3c3 head: fix clippy warnings in tests 2024-01-14 15:23:24 +01:00
Daniel Hofstetter
ac27b6c4b0
Merge pull request #5833 from sylvestre/cut-multiple
cut: allow the same option to be passed multiple times
2024-01-13 16:58:04 +01:00
Sylvestre Ledru
bc51b8d216 cut: allow the same option to be passed multiple times 2024-01-13 15:09:16 +01:00
Atomei Alexandru
563df4b79d
Made cksum return an error if used on a directory. (#5822)
* Made cksum to return an error if it is used on a directory regardless of the algorithm

* Added one more test for cksum on folders and deleted an old one that expected it to succeed instead of fail

* Made cksum work on more than one item if it fails and added a test for this case
2024-01-13 14:43:36 +01:00
Sudhakar Verma
2aa8a3502f printf : no infinite loop 2024-01-12 16:08:47 +05:30
Sylvestre Ledru
edb77b8d59
Merge pull request #5827 from samueltardieu/issue-5826
printf: %c prints the first byte of its argument
2024-01-12 00:25:32 +01:00
Daniel Hofstetter
5b860cb428
Merge pull request #5828 from samueltardieu/printf-double-quote
printf: output of double-quote should not be escaped
2024-01-11 08:52:51 +01:00
Samuel Tardieu
47e908bc6c printf: output of double-quote should not be escaped
This is obtained by escaping the sequence `\"` as `"`.
2024-01-10 19:17:42 +01:00
Sylvestre Ledru
19a9380089
Merge pull request #5803 from D9nni/cksum
cksum: Add --raw argument
2024-01-10 18:36:08 +01:00
Samuel Tardieu
7d32e49fb9 printf: %c prints the first byte of its argument 2024-01-10 18:19:56 +01:00
Marras Antoine
3b884966ac printf: added failing tests on alternative hex form 2024-01-10 16:55:03 +01:00
Samuel Tardieu
a85a792c88 format: use the new number parser and fix the error messages
The error messages are more compliant with GNU coreutils.
Also, floating hexadecimal numbers are now supported in
`printf`.
2024-01-10 14:34:43 +01:00
D9nni
96271ffa3c cksum: added tests for --raw with each algorithm, not working for crc, sysv, bsd 2024-01-09 23:12:40 +02:00
Daniel Hofstetter
f400a07dc6 pathchk: remove useless comments 2024-01-09 15:19:22 +01:00
Daniel Hofstetter
49154669a6 pathchk: simplify and rename test 2024-01-09 15:17:15 +01:00
Samuel Tardieu
5dfeca9ff2 format: %c prints the first character of a string 2024-01-09 00:13:54 +01:00
Sylvestre Ledru
294a0abb9c
Merge pull request #5812 from cakebaker/ln_fix_unused_import_on_android
ln: fix "unused import" warning on Android
2024-01-08 18:05:10 +01:00
Daniel Hofstetter
e29afdc0df head: disable some tests on Android 2024-01-08 17:29:34 +01:00
Daniel Hofstetter
62dffc3250 ln: fix "unused import" warning on Android 2024-01-08 17:17:43 +01:00
D9nni
28b5224725 cksum: fixed test for --raw on single file 2024-01-08 15:50:25 +02:00
Daniel Hofstetter
1c6bf6991c nl: don't exit if input is directory 2024-01-08 11:01:07 +01:00
Sylvestre Ledru
d72343bc64
Merge branch 'main' into cksum 2024-01-08 09:02:11 +01:00
D9nni
f03ef79bc8 cksum: added tests for --raw and fixed fmt whitespace error 2024-01-08 08:51:06 +02:00
Atomei Alexandru Constantin
0bfd4bbdf7 Added test to validate that it now generates the error for an arbitrary directory 2024-01-08 00:08:24 +02:00
Sylvestre Ledru
b309d64e78
Merge branch 'main' into issue-5766 2024-01-06 22:55:54 +01:00
Kostiantyn Hryshchuk
c867d6bfb1
shred: implemented "--remove" arg (#5790) 2024-01-06 22:50:21 +01:00
Sylvestre Ledru
247f2e55bd
seq: adjust some error messages. GNU's are better (#5798)
* seq: adjust some error messages. GNU's are better
tested by tests/seq/seq.pl

* uucore: remove todo

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-01-06 16:54:29 +01:00
Daniel Hofstetter
e13f0d80ee
Merge pull request #5778 from RenjiSann/main
ls: Support QUOTING_STYLE environment variable
2024-01-05 15:55:23 +01:00
Samuel Tardieu
32f0256d7d uucore/num_format: properly display 10ᵖ where p is the precision
`seq --format %.2g 10 10` would display `1` because the precision would
not allow room for the decimal point, and the `0` in `10` would be
trimmed as an insignificant trailing `0`.

This has been fixed by only trimming trailing `0` in the presence of a
decimal point.
2024-01-05 15:40:20 +01:00
Dorian Péron
4372908e84 fix: cargo fmt + fix spelling mistake 2024-01-05 13:55:47 +01:00
Sylvestre Ledru
aabf5fa577 cp: manages target with trailing '/' 2024-01-05 12:56:27 +01:00
Sylvestre Ledru
4c698d58e0 mv: support the case mkdir a && mv a e/ 2024-01-05 12:56:24 +01:00
Dorian Péron
c58575edaa tests/ls: Add tests to ensure env var is used as a last resort 2024-01-05 02:10:33 +01:00
cre4ture
9b3cc5437c
head: head_backwards for non-seekable files like /proc/* or fifos (named pipes) (#5732)
* implement head_backwards for non-seekable files like /proc/* or pipes

Signed-off-by: Ulrich Hornung <hornunguli@gmx.de>
2024-01-05 00:25:59 +01:00
Daniel Hofstetter
e4fbc31714 du: ignore duplicate names with --files0-from 2024-01-03 09:39:16 +01:00
Daniel Hofstetter
239e5426e6 du: show error for nul names with --files0-from 2024-01-02 16:06:41 +01:00
Daniel Hofstetter
7ddeba4b98 cp: show no "same file" error for --link a a 2024-01-01 14:30:27 +01:00
Daniel Hofstetter
5673f32c63 cp: show error if source & dest are same file 2023-12-31 16:01:34 +01:00
Daniel Hofstetter
2c42623b6e cp: backup dest symlink linking to source 2023-12-31 14:09:08 +01:00
Sylvestre Ledru
193bcf86b7 cp: Disable a test failing on freebsd 2023-12-30 17:00:44 +01:00
Vardhan Patil
1fc6a760f3 tests/cksum: fix formatting 2023-12-30 20:31:52 +05:30
Vardhan Patil
e1863ac64e tests/cksum: test when the --length argument is 0 or >512 2023-12-30 20:14:30 +05:30
Vardhan Patil
09ef150085 tests/cksum: add tests for the length argument 2023-12-30 16:01:22 +05:30
Daniel Hofstetter
7025619325 cp: adapt warning if source is used more than once 2023-12-29 10:24:08 +01:00
Daniel Hofstetter
9bb725cefc clippy: fix warnings introduced by Rust 1.75 2023-12-28 18:17:06 +01:00
Sylvestre Ledru
d82ee771aa install: Add a test to cover recent changes 2023-12-28 16:34:09 +01:00
Sylvestre Ledru
764ea34c37 dd/chroot: improve the skip message (not root) 2023-12-28 00:44:19 +01:00
Daniel Hofstetter
0701f535ac cp: fix backup of destination symlink 2023-12-27 15:39:54 +01:00
Matei Mantu
bf26eda786
install: remove / from end of path if it exists so as not to mess with .exists() (#5730)
* remove / from end of path if it exists so as not to mess with .exists()

* install: fix / removal from path

* Fix clippy warnings

* Add test for install target ends with /
2023-12-27 13:37:17 +01:00
Sylvestre Ledru
e26f4c7f36
Merge pull request #5727 from cakebaker/du_simplify_file_creation_in_tests
du: simplify file creation in tests
2023-12-26 16:12:52 +01:00
Sylvestre Ledru
167acb5147
Merge pull request #5484 from cakebaker/cp_l_with_dest_hardlink_to_source
cp --link: don't fail if destination is hardlink to source
2023-12-26 16:12:15 +01:00
Daniel Hofstetter
2d260ded58 du: use concat! to improve readability in tests 2023-12-26 15:19:45 +01:00
Daniel Hofstetter
37c83ec480 du: simplify file creation in tests 2023-12-26 15:15:02 +01:00
Sylvestre Ledru
30eb77ac79
du: implement files0-from (#5721)
* du: implement files0-from

Should make tests/du/files0-from-dir pass

* du: prepare tests/du/files0-from.pl

* fix the build on Windows

* add testfile to the ignore list

* remove useless comment

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* mkdir is enough

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>

* address review comments

---------

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2023-12-26 14:40:31 +01:00
Sylvestre Ledru
6d2486c096
Merge pull request #5503 from cakebaker/du_unused_du_basics
du: call unused _du_basics() in test_du_basics()
2023-12-25 22:38:27 +01:00
Sylvestre Ledru
0fb4d8843c
Merge pull request #5455 from n1000/freebsd_fixes_push_3
tests/test: Ensure the test fixture files have the expected gid
2023-12-25 22:03:15 +01:00
Sylvestre Ledru
db9f4cc315
Merge pull request #5483 from cakebaker/mv_fix_5481
mv: fix subdir detection
2023-12-25 22:02:23 +01:00
Sylvestre Ledru
628819701d
Merge pull request #5530 from cakebaker/du_test_posixly_correct
du: test behavior with POSIXLY_CORRECT set
2023-12-25 22:01:25 +01:00
Daniel Hofstetter
f10c6f1d56
Merge pull request #5699 from sylvestre/mv-cp-seen
cp/mv/ln: add support for the "will not overwrite just-created"
2023-12-25 14:58:50 +01:00
Daniel Hofstetter
030fd3d4d2 du: test behavior with POSIXLY_CORRECT set 2023-12-25 13:17:17 +01:00
Daniel Hofstetter
03f1b8aa3a mv: fix subdir detection 2023-12-25 13:12:18 +01:00
Nathan Houghton
1915e3c438 tests/test: Ensure the test fixture files have the expected gid
On some platforms (mostly the BSDs) the test fixture files copied to the
/tmp directory will have a different gid than the current egid (due to
the sticky bit set on the /tmp directory). Fix this before running the
"test" command.
2023-12-25 13:10:22 +01:00
Daniel Hofstetter
4946478409 cp: -l don't fail if dest is hardlink to source 2023-12-25 13:03:11 +01:00
Sylvestre Ledru
356023b055
Merge pull request #5431 from cakebaker/cp_remove_destination_shouldnt_fail_hardlink
cp --remove-destination: don't fail if destination is hardlink to source
2023-12-25 13:02:50 +01:00
Daniel Hofstetter
863c022352
Merge pull request #5723 from sylvestre/tee-warning
tee test: fix a warning on not(linux)
2023-12-25 11:47:13 +01:00
Sylvestre Ledru
6ce9d84232
Merge pull request #5532 from cakebaker/df_fix_5531
df: fix rounding issue in test
2023-12-25 11:23:48 +01:00
Sylvestre Ledru
60d71e3f2a ln: disable a test on android 2023-12-25 11:22:04 +01:00
Sylvestre Ledru
f86e314f46 Fix some obvious comment
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2023-12-25 11:17:04 +01:00
Sylvestre Ledru
840a5bf083
Merge pull request #5700 from cakebaker/ls_block_size_with_k
ls: set correct block size when -k is provided
2023-12-25 11:14:09 +01:00
Sylvestre Ledru
853f73b7c9 tee test: fix a warning on not(linux)
warning: unused import: `std::fmt::Write`
2023-12-25 11:06:24 +01:00
Daniel Hofstetter
270ac90cc1 ls: set correct block size when -k is provided 2023-12-24 16:35:49 +01:00
Sylvestre Ledru
0220353c4c
test_install.rs: Remove a debug artifact 2023-12-24 15:26:38 +01:00
Sylvestre Ledru
15573579cc Fix the windows tests 2023-12-24 15:18:31 +01:00
Sylvestre Ledru
6b8f71116d
Merge pull request #5717 from cakebaker/wc_android
wc: disable part of test on Android
2023-12-24 14:52:08 +01:00
Daniel Hofstetter
4d05f208e0
Merge pull request #5701 from sylvestre/debug
cp: debug with --update=none should show 'skipped'
2023-12-24 14:25:57 +01:00
Daniel Hofstetter
df492d34cb wc: disable part of test on Android 2023-12-24 13:20:57 +01:00
Sylvestre Ledru
8685e05f4e cp: debug with --update=none should show 'skipped' 2023-12-23 17:58:05 +01:00
Daniel Hofstetter
be822009f0
Merge pull request #5686 from sylvestre/install-basic
install: with -t, check if we aren't passed a file
2023-12-23 15:33:45 +01:00
Sylvestre Ledru
2832694056
install: support when a hyphen is passed (#5697)
* install: support when a hyphen is passed

Should fix: tests/install/strip-program.sh

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2023-12-23 15:29:32 +01:00
Sylvestre Ledru
ceecac110c ln: manages the 'seen' file list before linking
Should help with tests/mv/childproof.sh
2023-12-23 13:53:26 +01:00
Sylvestre Ledru
c94773f522 mv: make sure it continues when hiting an error 2023-12-23 13:27:00 +01:00
Sylvestre Ledru
3af8ad0fe6 mv: manages the 'seen' file list before moving
Should help with tests/mv/childproof.sh
2023-12-23 13:07:39 +01:00
Sylvestre Ledru
06c98fbdd3 cp: don't fail when --backup=numbered is passed 2023-12-23 12:48:38 +01:00
Sylvestre Ledru
837640bc02 cp: manages the 'seen' file list before copying
Should help with tests/mv/childproof.sh
2023-12-23 12:11:35 +01:00
Sylvestre Ledru
6b1f51385f
Merge pull request #5693 from cakebaker/ls_second_blocksize
ls: introduce 2nd blocksize & fix todos in tests
2023-12-23 09:57:08 +01:00
Sylvestre Ledru
9ca7c3e107 install: with -t, check if we aren't passed a file
Should pass tests/install/basic-1
2023-12-22 18:16:23 +01:00
Daniel Hofstetter
1c6317af76 mv: allow dest with slash when using --update 2023-12-22 17:03:59 +01:00
Daniel Hofstetter
a8a5931cae ls: introduce 2nd blocksize & fix todos in tests 2023-12-22 11:42:01 +01:00
Sylvestre Ledru
e071fd3042
Merge pull request #5684 from allaboutevemirolive/v10_expand
expand: fix duplicate flags
2023-12-21 11:03:09 +01:00
Daniel Hofstetter
0164934afe df: fix rounding issue in test
Set block size to 1 so the returned values are the same values as
used for the calculation of the percentage values
2023-12-21 10:46:11 +01:00
Terts Diepraam
4b2577fc78 test/sort: run cargo fmt 2023-12-21 10:19:52 +01:00
allaboutevemirolive
f874788b2c Use better testcase 2023-12-21 10:48:58 +02:00
allaboutevemirolive
3e6187269e fix duplicate flags 2023-12-20 23:30:46 +02:00
Justin !
a6ba81db20
sort: allow -f to be pass multiple time
Fix #5667
2023-12-20 12:42:57 -05:00
Daniel Hofstetter
d8709d2839 ls: recognize BLOCKSIZE env var 2023-12-19 15:00:06 +01:00
Sylvestre Ledru
9920f13a34
Merge pull request #5640 from tertsdiepraam/tr-no-output
`tr`: operate on bytes instead of chars
2023-12-19 11:42:44 +01:00
Daniel Hofstetter
a5606613bd ls: ignore invalid block size from env vars 2023-12-19 10:02:34 +01:00
Sylvestre Ledru
52af36d80b
Merge pull request #5673 from tertsdiepraam/expr-fix-comparison
`expr`: coerce to string before comparing values
2023-12-18 22:50:42 +01:00
Terts Diepraam
00b9cbe09e expr: coerce to string before comparing values 2023-12-18 22:24:31 +01:00
Sylvestre Ledru
b32c93ee5e
Merge pull request #5672 from cakebaker/ls_hyperlink_dirs
ls: support hyperlinks for dir names
2023-12-18 18:24:27 +01:00
Sylvestre Ledru
ece9e91593
Merge pull request #5671 from Yykz/wc_args_override
wc: fix arguments not overriding
2023-12-18 15:56:10 +01:00
Yykz
652e02fb59 cargo fmt 2023-12-18 15:34:51 +01:00
Daniel Hofstetter
917c6a4743 ls: support hyperlinks for dir names 2023-12-18 15:26:09 +01:00
Yykz
cae113c237 Added tests 2023-12-18 14:12:59 +01:00
Sylvestre Ledru
0fa074fcba
Merge pull request #5629 from cakebaker/ls_hyperlink_encode
ls: encode path when using --hyperlink
2023-12-18 13:38:08 +01:00
Daniel Hofstetter
e79eb097af
Merge pull request #5656 from sylvestre/ls-var
ls: manages the COLOR and COLORTERM variables
2023-12-18 07:16:38 +01:00
Sylvestre Ledru
57cd69b466
Merge pull request #5639 from lcheylus/openbsd-fix
tests/hostname: disable failing test_hostname::test_hostname_ip on OpenBSD
2023-12-16 10:25:52 +01:00
Sylvestre Ledru
f6d3f9afbf ls: manages the COLOR and COLORTERM variables
Should fix GNU tests/ls/color-term.sh
2023-12-16 09:50:37 +01:00
Terts Diepraam
66bd065835
Merge pull request #5641 from cakebaker/ls_block_size_si_human_readable
ls: make --block-size and --human-readable/--si override each other
2023-12-14 17:04:34 +01:00
Daniel Hofstetter
6fb3bbb8a0 mv: rename two tests 2023-12-13 14:27:19 +01:00
Daniel Hofstetter
42558344f1 ls: enable "args override self" 2023-12-12 14:23:51 +01:00
Daniel Hofstetter
89cb4acb99 ls: encode path when using --hyperlink 2023-12-12 10:03:55 +01:00
Daniel Hofstetter
6711dd5694 ls: make --block-size and --human-readable/--si
override each other
2023-12-11 16:38:55 +01:00
Daniel Hofstetter
3dad5d4d56
Merge pull request #5635 from tertsdiepraam/fix-echo-override
`echo`: make `-e` and `-E` override each other
2023-12-11 14:21:15 +01:00
Terts Diepraam
bc5b5e013a tr: operate on bytes instead of chars 2023-12-11 13:35:17 +01:00
Laurent Cheylus
2faab59aa4
tests/hostname: disable failing test_hostname::test_hostname_ip on OpenBSD
- On OpenBSD, test_hostname::test_hostname_ip fails with "failed to lookup address information:
    Name does not resolve" error

Signed-off-by: Laurent Cheylus <foxy@free.fr>
2023-12-11 12:45:16 +01:00
Terts Diepraam
191eb9ac12 echo: make -e and -E override each other 2023-12-11 10:53:55 +01:00
Sylvestre Ledru
4442b35370
Merge pull request #5626 from cakebaker/ls_invalid_block_size
ls: handle invalid block size as GNU does
2023-12-11 07:49:38 +01:00
Dorian Péron
673093f842
ls: set default quoting style to literal when not TTY (#5553)
* ls: set default quoting style to literal if output is not TTY

* tests/ls: Fix quoting tests that now run with Literal as default

* ls: Fix formatting/linting/spelling issues

* tests/ls: Fix windows escaped tests
2023-12-10 16:07:41 +01:00
Sylvestre Ledru
1d4c919b97
Add mdir to the spell ignore 2023-12-09 16:33:19 +01:00
Sylvestre Ledru
e071286eb0 address review comments 2023-12-09 13:10:41 +01:00
Sylvestre Ledru
268b180416 ls colors: create a stylemanager to carry the previous style to know if we need to reset or not 2023-12-09 13:10:38 +01:00
Sylvestre Ledru
b676216f9b ls: use the gnu_legacy feature from lscolors 2023-12-09 13:05:12 +01:00
Daniel Hofstetter
e9dc2930ee ls: handle invalid block size as GNU does 2023-12-08 19:19:51 +01:00
Daniel Hofstetter
c111dc88ac du: fix issue with dereference in test 2023-12-08 10:23:15 +01:00
zhitkoff
967c539cc6 wc: more tests 2023-12-07 10:50:55 -05:00
zhitkoff
054ca4a6b5 wc: better handle files in pseudo-filesystems 2023-12-07 10:50:55 -05:00
Sylvestre Ledru
ca024abe31
Merge pull request #5554 from cakebaker/mv_no_target_directory
mv: fix issue with -T and destination ending with "/"
2023-12-07 14:13:06 +01:00
Sylvestre Ledru
fe730f8a49
Merge pull request #5611 from sylvestre/dirdb
dircolors: Move the static long string into structures.
2023-12-07 09:58:55 +01:00
Daniel Hofstetter
5a32ab8004 ls: implement --hyperlink 2023-12-07 08:14:25 +01:00
Sylvestre Ledru
80b1ccd665
Merge pull request #5609 from cakebaker/ls_ignore_value_of_posixly_correct
ls: ignore value of `POSIXLY_CORRECT`
2023-12-06 21:27:21 +01:00
Sylvestre Ledru
b0fdb1edef Rest of the comments 2023-12-04 23:39:10 +01:00
Sylvestre Ledru
dabbcff9fb dircolors: manage the --print-ls-colors pipe option 2023-12-04 22:41:03 +01:00
Terts Diepraam
35548e2137
Merge pull request #5615 from cakebaker/du_disable_test_on_android
du: disable test on Android
2023-12-03 16:58:00 +01:00
Daniel Hofstetter
51fc2d7564 ls: ignore value of POSIXLY_CORRECT 2023-12-03 16:01:19 +01:00
Daniel Hofstetter
49fb72ed21 du: disable test on Android 2023-12-03 14:07:03 +01:00
Nathan Houghton
0ea1a7cd88 tests/cp, tests/test: Don't attempt to set sticky file bit on FreeBSD
On FreeBSD (and OpenBSD), only the superuser can set the file sticky
bit.
2023-12-02 16:58:27 +01:00
Daniel Hofstetter
4903b91973 du: call unused _du_basics() in test_du_basics() 2023-12-02 16:52:12 +01:00
Sylvestre Ledru
e24d6b2fbd
Merge pull request #5604 from cakebaker/ls_fix_padding
ls: fix padding of size column when using `-l`
2023-12-02 09:40:18 +01:00
Daniel Hofstetter
6b3f00cc31 dd: skip two tests without "printf" feature 2023-12-01 10:03:44 +01:00
Piotr Kwiecinski
c6e7fdcabe skip test_cp_arg_update_interactive on FreeBSD 2023-11-30 18:45:06 +01:00
Daniel Hofstetter
0ec6802459 ls: fix padding of size column when using -l 2023-11-30 16:19:27 +01:00
Daniel Hofstetter
6eec4fe8f9 cut: add test & improve error message 2023-11-29 09:41:11 +01:00
Sylvestre Ledru
b5ce876fef
Merge pull request #5580 from zhitkoff/split-r-chunk
split: passing GNU test r-chunk.sh
2023-11-28 10:38:00 +01:00
Sylvestre Ledru
14a8e8a452
Merge pull request #5128 from tertsdiepraam/printf-rewrite
`printf` rewrite (with a lot of `seq` changes)
2023-11-28 07:52:58 +01:00
Sylvestre Ledru
88d63be3a0
Merge pull request #4545 from jfinkels/dd-reblock
dd: buffer partial blocks in the output writer
2023-11-27 09:31:36 +01:00
Jeffrey Finkelstein
ceccd2ecc6 dd: buffer partial blocks in the output writer
Add buffering of partial blocks in the output block writer until they
are completed.
2023-11-26 18:03:06 -05:00
zhitkoff
f8f6346126 wc: fix FilesDisabled error message 2023-11-25 18:16:34 -05:00
zhitkoff
7b2a3e236e split: r-chunk tests and infinite input 2023-11-25 11:12:08 -05:00
Sylvestre Ledru
64d47730bc
Merge pull request #5555 from cakebaker/cp_adapt_omitting_dir_msg
cp: improve error msg if -r is not specified
2023-11-24 21:51:04 +01:00
zhitkoff
4dc46f10e9 split: pass GNU test l-chunk 2023-11-24 10:06:16 +01:00
Coba Weel
7efe33108a Fix issue 5576 (regex matching bug in expr)
Issue 5576 reported a bug in expr, found by the fuzzer. The problem
turns out to be with the regex match operator `:`, which is defined in
POSIX and the GNU manual to match the pattern only when it occurs at
the beginning of the string, i.e., the regex has an implicit `^`
prepended to it. We hadn't been doing that.
2023-11-23 16:26:37 +01:00
Daniel Hofstetter
c2bfb6a465 expr: adapt error messages, revert most of #5559 2023-11-23 15:14:25 +01:00
Daniel Hofstetter
2e77d99dd4 expr: fail fast if there are no operands 2023-11-23 14:35:02 +01:00
Sylvestre Ledru
af021e0d4f
Merge pull request #5559 from pawelngei/expr-substr-error
expr: different stderr with `expr "56" "substr"`
2023-11-22 14:56:42 +01:00
Terts Diepraam
0822511fdc test/printf: ignoring rounding up to 2
This is a limitation of the current implementation, which should ultimately use "long double" precision instead of f64.
2023-11-21 16:49:20 +01:00
Zhuoxun Yang
44702940d2 tests/expr: check prefix operation 2023-11-21 22:06:20 +08:00
ALXD
8b650a7a9b expr: add tests for precise error messages 2023-11-21 10:14:24 +01:00
Terts Diepraam
6d2698b802 Merge branch 'main' into printf-rewrite 2023-11-20 13:53:11 +01:00
clara swanson
58087df02a
stdbuf: remove crash macro (#5549)
* stdbuf: remove crash! macro

* stdbuf: change target_vendor back to apple

* tests/stdbuf: change stderr_only to usage_error in test_stdbuf_invalid_mode_fails

* stdbuf: add exit code to check_option

* stdbuf: remove set_exit_code line from error
2023-11-20 10:16:18 +01:00
Daniel Hofstetter
285e580b6e cp: improve error msg if -r is not specified 2023-11-20 09:15:15 +01:00