Commit graph

3400 commits

Author SHA1 Message Date
sreehari prasad
92665144c9
ls: gnu color-norm test fix (#6481) 2024-06-24 21:38:10 +02:00
Daniel Hofstetter
92c3de5387
Merge pull request #6144 from sylvestre/dired
ls --dired: adjust our code after GNU v9.5
2024-06-24 13:41:11 +02:00
Sylvestre Ledru
ececddd672 ls: If we have --dired --hyperlink, we don't show dired but we still want to see the
long format

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-06-24 10:27:37 +02:00
Sylvestre Ledru
4d705621e6 ls: --format will override the --dired option
Closes: #6488

Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
2024-06-23 21:13:37 +02:00
Christian von Elm
0ae6d43536
Refuse to translate if set2 contains more than one unique characters and set1 contains a character class (#6472)
* Refuse to translate if set2 contains > 1 unique characters
2024-06-22 19:30:39 +02:00
Anirban Halder
2774274cc2
`uptime`: Support files in uptime (#6400) 2024-06-22 13:06:03 +02:00
Sylvestre Ledru
cd44a3d1fd ls --dired: v9.5 --hyperlink is ignored if passed first
Manages cases like:
$ ls -R --dired --hyperlink a2
will show hyperlink
$ ls -R --hyperlink --dired a2
won't
2024-06-22 09:32:21 +02:00
Sylvestre Ledru
da11981026 ls --dired: v9.5 automatically set --format=long 2024-06-21 23:32:20 +02:00
sreehari prasad
e46ad30434
gnu cp-parents test case (#6446) 2024-06-17 11:16:26 +02:00
Christian von Elm
a46e4fd290 Refuse to translate if set1 is longer than set2 and set2 ends in a character class
tr [:lower:]a [:upper:]

fails in GNU tr, so print an error for tr too.
2024-06-15 12:38:19 +02:00
Daniel Hofstetter
97c1633b5e clippy: fix warnings introduced by Rust 1.79 2024-06-14 07:55:31 +02:00
Daniel Hofstetter
38344edacf
Merge pull request #6445 from cvonelm/6341-tr-unaligned-upper
tr: A [:lower:]/[:upper:] in set2 must be matched in set1
2024-06-10 10:52:08 +02:00
Daniel Hofstetter
f56e121eb0
Merge pull request #6431 from sylvestre/refactor-hashsum-cksum
cksum/hashsum: refactor the common code.
2024-06-04 09:06:35 +02:00
Sylvestre Ledru
1cbb4d9752 cksum/hashsum: improve the tests and wording 2024-06-03 19:43:20 +02:00
Sylvestre Ledru
773d8cfbc6 cksum/hashsum: fix the windows tests + improve some 2024-06-02 15:46:55 +02:00
Christian von Elm
7e8aaa8ad4 tr: A [:lower:]/[:upper:] in set2 must be matched in set1
If there is a [:lower:] or [:upper:] in set2, then there must be a [:lower:] or [:upper:] at the
same logical position in set1

So

tr -t [:upper:] [:lower:] works
tr -t 1[:upper:] [:lower:] doesnt
2024-06-02 14:22:17 +02:00
sreehari prasad
8cac375ddd
cp: gnu test case preserve-mode fix (#6432) 2024-05-30 21:12:55 +02:00
Sylvestre Ledru
1cf6700023 cksum/hashsum: manage the '*' start correctly 2024-05-29 09:08:04 +02:00
Sylvestre Ledru
84d90fcbdf cksum/hashsum: try to detect the format faster the first line 2024-05-29 09:08:04 +02:00
Sylvestre Ledru
2c83b28d18 hashsum: improve the file verification algo.
We have 3 different kinds of input:
* "algo (filename) = checksum"
  example: `BLAKE2 (a) = bedfbb90d858c2d67b7ee8f7523be3d3b54004ef9e4f02f2ad79a1d05bfdfe49b81e3c92ebf99b504102b6bf003fa342587f5b3124c205f55204e8c4b4ce7d7c`
* "checksum  filename"
  example: `60b725f10c9c85c70d97880dfe8191b3  a`
* "checksum filename"
  example: `60b725f10c9c85c70d97880dfe8191b3 a`

These algo/regexp are tricky as files can be called "a, " b", " ", or "*c".
We look at the first time to analyze the kind of input and reuse the same regexp then.
2024-05-29 09:08:04 +02:00
Sylvestre Ledru
6acc8e695f hashsum: Implement the quiet mode 2024-05-29 09:08:04 +02:00
Sylvestre Ledru
89b7a1a8fb hashsum: handle the case when md5sum is used but the file contains a different algo 2024-05-29 09:08:04 +02:00
Sylvestre Ledru
0882eea07c cksum/hashsum: factor the error structure and use it more 2024-05-29 09:08:04 +02:00
Sylvestre Ledru
dbe7a20e08 cksum/hashsum: refactor the common code.
Summary of the change:
* Move the common code into checksum
* Create a structure HashAlgorithm to handle the algorithm (instead of the 3 variables)
* Use the same function for cksum & hashsum for --check (perform_checksum_validation)
* Use the same for function for the hash generation (digest_reader)
* Add unit tests
* Add integration tests
* Fix some incorrect tests
2024-05-29 09:08:00 +02:00
Daniel Hofstetter
8d3181fed5 df: fix incorrect test & add another test 2024-05-27 11:53:12 +02:00
Sylvestre Ledru
09e53f3d2d tests: fix some clippy warnings 2024-05-25 09:06:16 +02:00
Christian von Elm
0d1bde2879 tr: disallow classes besides [:upper:]/[:lower:] in set2 when translating
Fixes issue #6342
2024-05-23 22:06:57 +02:00
Walid
ebcd86df07
env: adds --ignore-signal (#6377)
* env: adds --ignore-signal
This commit implement #6164.

* env: handle STOP signal and fix styling issue

* env: fix encoded bytes

* env: adds SAFETY comment and handle special signals in ignore_signal

* env: fix parsing to have compatible behaviour

* env: remove derive from Options

* env: changed safety comment, handle duplications after parsing and non-unix cfg

* env: adds tests for ignore-signal parsing and invalid and special signals

* env: change signal values to be non-constant

* env: adds testing for signal ignoring

* env: styling and remove unix specific derive

* test_env: add SIGSTOP to cspell workspace wordlist

* env: makes signal handling unix specific

* env: make ignore-signal function invocation unix specific

* test_env: make signal vector use slices ref instead of vec (linter)

* env: makes ignore-signal in options unix specific

* test_env: add unix specific import
2024-05-23 22:01:39 +02:00
Daniel Hofstetter
a816960c33 tests: remove 'target_pointer_width = "128"' 2024-05-20 23:27:53 +02:00
sreehari prasad
f2f4a424de
cp: parent-perm-race gnu fix (#6403) 2024-05-20 08:17:17 +02:00
sreehari prasad
3c096ee6ac
util: added umask manipulation (#6404)
Co-authored-by: Terts Diepraam <terts.diepraam@gmail.com>
2024-05-19 21:56:41 +02:00
sreehari prasad
2e16cbbd7a
cp: link-deref gnu test fix (#6378)
Co-authored-by: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>
2024-05-19 10:14:29 +02:00
Ben Wiederhake
b718f954e8
Merge pull request #6390 from sylvestre/cksum-check
cksum: implement check (Closes: #5705)
2024-05-18 23:46:58 +02:00
Sylvestre Ledru
3156ad8298
Merge pull request #6412 from sylvestre/hashsum-fix
hashsum: improve the blake2 --tag export
2024-05-18 16:34:43 +02:00
Sylvestre Ledru
a9a11f486e hashsum: rename the blake2b algo with --tag + manage the different length 2024-05-18 16:16:26 +02:00
Sylvestre Ledru
514d810371 cksum: improve the blake2b detection algo corner case 2024-05-17 22:09:41 +02:00
Sylvestre Ledru
db58d2b6b5 cksum: when length/bits can't be divided by 8, generate an error 2024-05-17 22:08:53 +02:00
Sylvestre Ledru
1b78102a6b cksum: fails in case of unknown algo 2024-05-17 20:21:14 +02:00
Sylvestre Ledru
9c52ca8d55 cksum: also handle the case when the line start with ' \' 2024-05-15 11:46:58 +02:00
Dorian Péron
105024e708 ls: Fix quoting alignment 2024-05-15 09:59:38 +02:00
Dorian Péron
147c0b6962 tests(ls): Test space alignment when quoting is involved on grid output 2024-05-15 09:59:38 +02:00
Dorian Péron
0209c90b4e tests(ls): Test default quoting style on TTY output 2024-05-15 09:59:38 +02:00
Sylvestre Ledru
58c2b5d421 cksum: add failing tests - to be fixed 2024-05-14 23:27:50 +02:00
Sylvestre Ledru
115b203b22 cksum: also show the error on stdout 2024-05-14 23:27:50 +02:00
Sylvestre Ledru
07d579c40a cksum: handle the empty lines (and just spaces) 2024-05-14 23:27:50 +02:00
Sylvestre Ledru
bbd80e4061 cksum: various improvements/fixes 2024-05-14 23:27:47 +02:00
Sylvestre Ledru
843275a136 cksum/blake2b: improve the error management 2024-05-14 23:21:56 +02:00
Sylvestre Ledru
8ddb2131df cksum/blake2b, when length=512, don't add it in the line 2024-05-14 23:21:56 +02:00
Sylvestre Ledru
1aec8b407d chksum: add support of --check --algorithm=xxx 2024-05-14 23:21:56 +02:00
Sylvestre Ledru
81500ae3b8 cksum: implement check & strict 2024-05-12 21:20:58 +02:00
Daniel Hofstetter
320bdcf29e tail: remove useless use of vec! in test 2024-05-12 15:32:24 +02:00
Daniel Hofstetter
692cdfac34 cp/tail: use #[ignore] to disable tests
instead of a cfg attribute
2024-05-12 15:15:44 +02:00
Anirban Halder
1a5639b7d2
Fix ls: panicking on dangling symlink with --color=auto -l (#6346)
* Fixed unwrap being called on dereferenced dangling symlink

* Added test

* Switched to regex matching in test

* Remove unnecessary mkdir call

* Modified documentation of the test and added assertion of the colors

* Fixed a typo
2024-05-11 21:07:44 +02:00
Jadi
9303f8e5b1 Disabling compare_xattrs cp and mv related tests on OpenBSD
The test_cp and test_mv have xattr related tests. They should
be disabled on OpenBSD after commit 19d42c0339 disabled the
compare_xattrs function on OpenBSD.

Fixes #6348
2024-05-09 18:24:39 +02:00
Daniel Hofstetter
0ad7389b61 tail: remove #[cfg(not(windows))] from const 2024-05-09 15:28:34 +02:00
Daniel Hofstetter
aef7933d96 tail: use #[ignore] to disable tests
instead of a cfg attribute
2024-05-09 15:07:10 +02:00
Anirban Halder
97f8361737 Switched to using at.symlink_file instead of ln in tests 2024-05-08 23:50:33 +02:00
Anirban Halder
88d9d46abc Added test for dangling symlink in target directory 2024-05-08 23:50:33 +02:00
Anirban Halder
1f81912b3c Added assertion of stderr strings for macos and windows and fixed lints 2024-05-08 23:50:33 +02:00
Anirban Halder
f7e55b1322 Added overwrite detection for existing symlinks 2024-05-08 23:50:33 +02:00
Sylvestre Ledru
eb6f1df3bc cksum: add an ignored test for issue 6375 2024-05-07 20:24:25 +02:00
Sylvestre Ledru
ee2772925a cksum: --tag & --untagged - the order of usage matters. manage it 2024-05-07 20:24:25 +02:00
Sylvestre Ledru
9e080a3684 cksum: handle a corner case 2024-05-07 20:24:25 +02:00
Sylvestre Ledru
234f2f9508 cksum: handle an error like GNU 2024-05-07 20:24:25 +02:00
Sylvestre Ledru
10d8fd6f98 cksum: add binary and prepare the rest 2024-05-07 20:24:25 +02:00
Sylvestre Ledru
dc5342d115 hashsum: allow multiple usage of -l and take the last one
tested by gnu/tests/cksum/b2sum.sh
2024-05-07 20:24:25 +02:00
Ben Wiederhake
ea18cfd3d8 fmt: fix error priority, make goal-errors more helpful 2024-05-06 19:36:39 +02:00
Sylvestre Ledru
421f3a9371
Merge pull request #6349 from jadijadi/disabling-xattrs-openbsd
Disabling xattrs tests on OpenBSD
2024-05-05 21:52:16 +02:00
ahmadabd
a3d05e5945 fmt: value of minlength should not be negative
closes #6354
2024-05-05 21:08:38 +02:00
Ben Wiederhake
a13949b4ba fmt: add basic tests for split-only, prefix, and skip-prefix args 2024-05-05 17:03:28 +02:00
Ben Wiederhake
e76f92c212 fmt: accept repeated arguments 2024-05-05 16:13:46 +02:00
Jadi
19d42c0339 Disabling xattrs function and tests on OpenBSD
The test_compare_xattrs test fails on OpenBSD because OpenBSD does
not support xattrs. Disabling this function and its test for
target_os = openbsd resolves the issue.

Fixes #6348
2024-05-05 09:08:35 +03:30
Jalil David Salamé Messina
ff1a03c284 tr: don't truncate when not translating
An additional issue was found while reviewing #6340, check [this thread][1]. A summary is:

- `tr` ignores the `-t`/`--truncate-set1` flag when not translating
- Not translating is defined as `-d` was passed, or one set was passed.

[1]: https://github.com/uutils/coreutils/pull/6340#discussion_r1590007053
2024-05-04 19:55:49 +02:00
Jalil David Salamé Messina
3c47f27698 tr: calculate complement set early
Fixes #6163 and adds a test to verify that a regression is not caused.

Instead of inverting the conditions to check (e.g. delete characters **not** present in set1) invert
set1 when passed the complement flag (`-c`, `-C`, `--complement`). This is done by calculating set1
then "inverting" it by subtracting from the "full" (universe) set (0..=u8::MAX).

This fixes issue 6163 because it was caused by a combination of the `-c` and `-t` flag. `-c` is the
abovementioned complement flag and `-t`/`--truncate-set1` truncates set1 to the length of set2. What
happened in issue 6163 is that `set1={b'Y'}` and `set2={b'Z'}`, when truncated set1 stays the same
and we proceed. The problem is GNU utils does not consider set1 to be `{b'Y'}`, but the complement
of `{b'Y'}`, that is `U \ {b'Y'}={0, 1, ..., b'X', b'Z', ...}`, thus it is truncated to `{0}`.

We can verify this by doing: `printf '\0' | tr -c -t Y Z`, which prints `Z` to stdout as expected.

Additionally, by calculating the complement of set1 we no longer need to consider the complement
flag when doing the translate operation, this allows us to delete a lot of code.
2024-05-04 19:55:49 +02:00
Anirban Halder
c5a530f4a1
Changed `/sys/kernel/address_bits to /sys/kernel/profiling` in test_cp (#6294)
* Changed sys/kernel/address_bits to sys/kernel/profiling

* Added comments and fixed formatting

---------

Co-authored-by: Anirban <anirban@pop-os.localdomain>
2024-05-02 18:25:22 +02:00
Sylvestre Ledru
b28b79da77
Merge pull request #6125 from cre4ture/feature/config_terminal_simulation
config terminal simulation for specific stdios only
2024-05-01 21:40:28 +02:00
Ben Wiederhake
909c47886a tr+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
48a483c319 sort+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
e4b6687196 realpath+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
289346a4ba printf+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
bebddc6ad4 od+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
a53ec17b67 numfmt+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
f1a683d45f mktemp+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
9266b4a7fa ls+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
63699a41d6 kill+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
b39b405826 basenc+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
db61684bc0 basename+tests: remove unused spell-checker:disable 2024-04-30 18:28:20 +02:00
Ben Wiederhake
34da5029df cat+tests: simplify spell-checker exceptions 2024-04-30 18:28:20 +02:00
Daniel Hofstetter
96ed764fda cp: remove panics in tests 2024-04-30 16:22:49 +02:00
Sylvestre Ledru
969fb2e818
Merge pull request #6287 from BenWiederhake/dev-fewer-test-leakage
od+tests: use TestScenario, avoid spamming /tmp on failure
2024-04-29 10:46:23 +02:00
Ben Wiederhake
4f5a3b4716 id: mark passwd-format and pretty-print as conflicting
These are non-sensical to combine, and didn't work reasonably anyway.
Also, passwd-formatting is our own extension, so there is no need for
compatibility anyway.
2024-04-28 23:05:43 +02:00
Ben Wiederhake
e978fe5382 id: permit repeated flags 2024-04-28 22:39:14 +02:00
Ben Wiederhake
ebb21d0bdf od+tests: use TestScenario, avoid spamming /tmp on failure 2024-04-28 21:49:31 +02:00
Daniel Hofstetter
7ac5595cdc
Merge pull request #6279 from BenWiederhake/dev-fix-multicall-test-precondition
tests: fix multi-call test precondition
2024-04-28 14:20:56 +02:00
Darius Carrier
5ee9c69f59
kill: adding support for handling SIGEXIT (#6269)
kill: convert SIGEXT (0) to None so nix takes correct action
2024-04-27 17:33:45 +02:00
Ben Wiederhake
d5b79329ad tests: fix multi-call test precondition
This bug was introduced in de37baaf83.
2024-04-27 16:12:01 +02:00
Sylvestre Ledru
4090d468c0
Merge pull request #6162 from BenWiederhake/dev-undo-custom-exit-codes
all: Undo custom exit codes
2024-04-25 08:11:41 +02:00
Sylvestre Ledru
9a6e0b7bef
Merge pull request #6198 from BenWiederhake/dev-better-test-coverage
tests: test multi-call logic
2024-04-25 08:11:00 +02:00
Daniel Hofstetter
89af8b9769 du,uucore: add words to spell-checker:ignore 2024-04-24 16:54:32 +02:00
Michael Vogt
61e0450c66 du: give -h output the same precision as GNU coreutils
When printing the `du -h` output GNU coreutils does autoscale
the size, e.g.
```
$ truncate -s12M a
$ truncate -s8500 b
$ truncate -s133456345 c
$ truncate -s56990456345 d
$ du -h --apparent-size a b c d
12M	a
8,4K	b
128M	c
54G	d
```
Align our version to do the same by sharing the code with `ls`.

Closes: #6159
2024-04-24 16:53:08 +02:00