Tyler
47464f50a1
Begin project level testing. Minor fixes.
2021-06-21 11:17:47 -07:00
Jan Scheer
f1d317147b
id: add support for showing SELinux context (--context/-Z)
2021-06-20 13:44:41 +02:00
Anup Mahindre
ffb6b7152f
tests: Fix ls dangling symbolic links test output for windows
...
On windows we do not print inode numbers at all, so skip checking for ?
for dangling symbolic links in expected output
2021-06-20 16:58:28 +05:30
Anup Mahindre
d0039df8c3
tests: Add test for dangling symlinks with ls
...
Add test similar to gnu dangling symlinks test
2021-06-20 13:50:38 +05:30
Roy Ivy III
f5edc500e0
tests ~ fix spelling errors
2021-06-19 18:40:22 -05:00
Terts Diepraam
3086e95702
numfmt: add round and use C locale style for errors
2021-06-20 00:21:14 +02:00
Sylvestre Ledru
115eb5eb52
Merge pull request #2432 from dezgeg/test-bracket-syntax
...
test: Implement [ expr ] syntax
2021-06-19 19:14:20 +02:00
Michael Debertol
9fb927aa85
cp: always delete the destination for symlinks
2021-06-19 18:59:57 +02:00
Tuomas Tynkkynen
7b9814c778
test: Implement [ expr ] syntax
...
When invoked via '[' name, last argument must be ']' or we bail out with
syntax error. Then the trailing ']' is simply disregarded and processing
happens like usual.
2021-06-19 18:49:21 +03:00
Sylvestre Ledru
5ba69d4a35
Merge pull request #2412 from syukronrm/du-dereference
...
du: add `--dereference`
2021-06-19 12:05:18 +02:00
Sylvestre Ledru
ac98960f32
Merge pull request #2427 from miDeb/ln/recursive-relative
...
ln: don't return an empty path in `relative_path`
2021-06-19 12:03:59 +02:00
Sylvestre Ledru
e2a00b67ed
Merge pull request #2428 from jhscheer/cut_2424
...
cut: fix `-d=` (#2424 )
2021-06-19 08:46:42 +02:00
Michael Debertol
285eeac1fb
tests/pr: include one more possible minute
2021-06-18 18:49:39 +02:00
Terts Diepraam
f1e043ca1b
Merge pull request #2361 from jhscheer/id_zero_2351
...
id: revamp to pass more of GNU's Testsuite
2021-06-18 18:10:49 +02:00
Terts Diepraam
e273cb8e4f
Merge pull request #2426 from miDeb/cp/symlinks
...
cp: improve symlink handling
2021-06-18 17:27:50 +02:00
Michael Debertol
4e62c9db71
install: support target-directory
2021-06-18 16:45:36 +02:00
Jan Scheer
65f47be5ee
cut: fix -d=
( #2424 )
2021-06-18 12:10:40 +02:00
Michael Debertol
3d3af5c8ca
ln: don't return an empty path in relative_path
2021-06-18 11:53:29 +02:00
Tuomas Tynkkynen
d05964a8cb
test: Implement -k
...
parser.rs already accepts this, finish the implementation.
2021-06-18 00:03:08 +03:00
Michael Debertol
12a1c87cb8
cp: improve symlink handling
2021-06-17 22:26:13 +02:00
Terts Diepraam
439b7e0ca5
Merge pull request #2415 from miDeb/touch/date-epoch
...
touch: support @<timestamp> date format
2021-06-17 10:36:03 +02:00
Syukron Rifail M
bc8415c9db
du: add --dereference
2021-06-17 14:06:41 +07:00
Michael Debertol
816c55dce4
sort: avoid sigpipe errors
...
By calling `unwrap` we get a panic instead of an abort, and since we
mute sigpipe panics for all utilites, no error message will be printed.
2021-06-17 00:06:39 +02:00
Terts Diepraam
ce6d439a1b
Merge pull request #2381 from miDeb/sort/merge-improvements
...
sort: delete temporary files as soon as possible
2021-06-17 00:00:59 +02:00
Jan Scheer
39aa5312ed
id/tests: skip tests for multiple_user feature if there's not at least coreutils id
version 8.31 in $PATH
2021-06-16 23:52:55 +02:00
Jan Scheer
88367c6fb4
Merge branch 'fix_getgrouplist' into id_zero_2351
2021-06-16 19:20:34 +02:00
Jan Scheer
54cbb69d37
id/tests: fix tests if run on macOS
2021-06-16 19:16:29 +02:00
Michael Debertol
4c5ee1dbd7
tty: correct exit code for write errrors
2021-06-16 17:55:48 +02:00
Michael Debertol
aeaf2cebfb
tests/tty: fix test inputs
...
calling `pipe_in("</dev/null")` does not pipe in the `/dev/null` file,
but the raw string "</dev/null".
Closes https://github.com/uutils/coreutils/issues/2301
2021-06-16 17:43:49 +02:00
Hanif Bin Ariffin
23de181171
Added tests for cp --preserve without args
...
Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
2021-06-16 11:32:15 +08:00
Michael Debertol
84affa2137
touch: support @<timestamp>
date format
...
parse `@<seconds since epoch>` as a valid date.
2021-06-15 22:43:40 +02:00
Michael Debertol
d4914b6943
sort: add a test for --batch-size
2021-06-15 19:09:22 +02:00
Daniel Rocco
22fbf16b2c
test: implement user, group ownership checks
...
closes #2337
2021-06-14 14:30:17 -04:00
Terts Diepraam
553f70b06a
Merge pull request #2408 from Foryah/issue-2346
...
touch: change the error message to match the GNU error message #2346
2021-06-14 13:43:44 +02:00
David Suilea
25240ba61c
touch: change the error message to match the GNU error message #2346
2021-06-14 13:03:14 +02:00
Terts Diepraam
dfe0314d8d
Merge pull request #2397 from miDeb/sort/args
...
sort: refactor command line arguments
2021-06-14 12:49:19 +02:00
Terts Diepraam
05c8883b1a
Merge pull request #2395 from miDeb/timeout/cmd-args
...
timeout: handle arguments for the command to run
2021-06-14 12:01:31 +02:00
Terts Diepraam
b6f27a9a63
Merge pull request #2358 from siebenHeaven/du_threshold
...
Implement du threshold argument handling
2021-06-14 10:58:30 +02:00
Jan Scheer
052202ca19
Merge branch 'master' into id_zero_2351
2021-06-13 11:30:43 +02:00
Jan Scheer
17c6f4c13a
id: add more tests to be consistent with GNU testsuite tests (tests/id/zero.sh)
2021-06-13 11:11:04 +02:00
Michael Debertol
d8c8e6774f
tests/pr: formatting
2021-06-12 18:03:00 +02:00
Michael Debertol
bb029193e2
tests/pr: prevent races
...
Allow any timestamp from the start of the command to its end to show up
in stdout.
2021-06-12 18:03:00 +02:00
Michael Debertol
8e7eedebe7
tests: take slices in stdout_is_fixture
2021-06-12 18:03:00 +02:00
Anup Mahindre
fa12b46c51
tests: Add test for du threshold feature
2021-06-12 19:56:05 +05:30
Michael Debertol
af6e92e012
Merge branch 'master' of https://github.com/uutils/coreutils into sort/args
2021-06-12 13:16:46 +02:00
Michael Debertol
a69c2d52f9
Merge branch 'master' of https://github.com/uutils/coreutils into timeout/cmd-args
2021-06-12 13:14:16 +02:00
Terts Diepraam
440eba628c
Merge pull request #2338 from miDeb/ln/dst-symlink
...
ln: canonicalize the parent directory of the destination, not the destination itself
2021-06-12 11:28:19 +02:00
Terts Diepraam
8afc923796
Merge pull request #2237 from wfscheper/wfscheper/issue2118
...
chgrp: replace getopts with clap (#2118 )
2021-06-12 11:20:24 +02:00
Jan Scheer
39f5f70f2b
Merge branch 'master' into refactoring_parse_size
2021-06-12 02:24:07 +02:00
Michael Debertol
b8d4411291
sort: fix ignore-leading-blanks long option
2021-06-11 20:46:23 +02:00
Michael Debertol
fb035aa049
sort: allow --check=<value> syntax
...
* --check=silent and --check=quiet, which are equivalent to -C.
* --check=diagnose-first, which is the same as --check
We also allow -c=<value>, which confuses GNU sort.
2021-06-11 20:46:23 +02:00
Terts Diepraam
ddb196dd1d
chgrp: fix clippy and spell-check warnings
2021-06-11 17:24:12 +02:00
Jan Scheer
d99385e585
id: add more tests for multiple and/or invalid usernames
2021-06-11 12:00:26 +02:00
Syukron Rifail M
0c364e635b
du: add --one-file-system
2021-06-11 16:18:57 +07:00
Walter Scheper
cff75f242a
chgrp: replace getopts with clap ( #2118 )
2021-06-10 16:38:44 -04:00
Michael Debertol
0f9bc8e974
timeout: disable timeout if it is set to zero
2021-06-10 21:24:43 +02:00
Michael Debertol
8e0ed2d20e
timeout: support --verbose
2021-06-10 21:24:43 +02:00
Michael Debertol
c5d7cbda32
timeout: handle arguments for the command to run
...
To prevent clap from parsing flags for the command to run as flags for
timeout, remove the "args" positional argument, but allow to pass flags
via the "command" positional arg.
2021-06-10 17:03:32 +02:00
Michael Debertol
5997853cc4
Merge branch 'master' of https://github.com/uutils/coreutils into ln/dst-symlink
2021-06-10 16:06:32 +02:00
Jan Scheer
44d1790d1f
id: add more tests for '--zero'
2021-06-10 10:33:22 +02:00
Jan Scheer
00c05b8687
id: add error handling (stderr/exit_code) for '-ugG'
2021-06-10 00:19:23 +02:00
Jan Scheer
026570ff9c
id: add more tests for '--zero'
...
* fix clippy warnings
2021-06-09 22:45:39 +02:00
Sylvestre Ledru
def5bec1ce
Merge pull request #2373 from tertsdiepraam/groups/use-id-in-tests
...
`groups`: fix test for Arch-based systems
2021-06-09 22:44:51 +02:00
Jan Scheer
be8650278b
Merge branch 'master' into refactoring_parse_size
2021-06-09 13:44:40 +02:00
Terts Diepraam
145e705b74
groups: fix clippy lint in test
2021-06-09 12:39:25 +02:00
Jan Scheer
babf6ecae4
Merge branch 'master' into id_zero_2351
2021-06-08 23:22:29 +02:00
Terts Diepraam
06b6066e89
groups: enable tests for non-linux unix systems
2021-06-08 22:53:48 +02:00
Sylvestre Ledru
4471335609
Merge pull request #2360 from rivy/fix+rf
...
build and *lots* of clippy fixes
2021-06-08 22:06:11 +02:00
Terts Diepraam
d846c40372
groups: fix test for arch
2021-06-08 21:45:02 +02:00
Jan Scheer
26ad05cbb4
uucore: fix order of group IDs returned from entries::get_groups()
...
As discussed here: https://github.com/uutils/coreutils/pull/2361
the group IDs returned for GNU's 'group' and GNU's 'id --groups'
starts with the effective group ID.
This implements a wrapper for `entris::get_groups()` which mimics
GNU's behaviour.
* add tests for `id`
* add tests for `groups`
* fix `id --groups --real` to no longer ignore `--real`
2021-06-08 18:39:05 +02:00
Jan Scheer
98225105af
id: implement '--zero' flag
...
* add tests for '--zero' flag
* add a bunch of requires/conflicts rules for flags (incl. tests)
2021-06-07 14:35:13 +02:00
Roy Ivy III
1faa9eebab
refactor/polish ~ cargo make format
2021-06-06 19:28:25 -05:00
Roy Ivy III
9feff1e441
tests ~ fix cargo clippy
complaint (*allow* clippy::needless_borrow; for *false positives*)
2021-06-06 19:28:25 -05:00
Roy Ivy III
26cb6540da
tests ~ fix cargo clippy
complaint (clippy::useless_format)
2021-06-06 19:28:25 -05:00
Roy Ivy III
0dc8c18bac
tests ~ fix cargo clippy
complaint (clippy::needless_borrow)
2021-06-06 19:28:25 -05:00
Roy Ivy III
5553416b87
tests ~ fix clippy complaint (clippy::bool_assert_comparision)
2021-06-06 19:17:18 -05:00
Jan Scheer
0033928128
sort: fix broken tests for '--batch-size' (replace 'B' with 'b')
...
https://github.com/uutils/coreutils/pull/2297#issuecomment-855460881
2021-06-06 22:56:11 +02:00
Jan Scheer
12de58aec0
Merge branch 'master' of github.com:uutils/coreutils into refactoring_parse_size
2021-06-06 22:54:02 +02:00
Michael Debertol
7c9da82b39
sort: implement --batch-size
2021-06-06 18:01:08 +02:00
Michael Debertol
8d213219c7
sort: implement --compress-program
2021-06-06 18:01:08 +02:00
Michael Debertol
5a5c7c5a34
sort: properly check for empty reads
2021-06-06 18:01:08 +02:00
Michael Debertol
66359a0f56
sort: insert line separators after non-empty files
...
If files don't end witht a line separator we have to insert one,
otherwise the last line will be combined with the first line of the next
file.
2021-06-06 18:01:08 +02:00
Michael Debertol
e7fa6715a7
Merge branch 'master' of https://github.com/uutils/coreutils into ln/dst-symlink
2021-06-04 19:42:19 +02:00
Jan Scheer
81e07a6a4d
od: replace 'piped_stdin' to make test stable
2021-06-04 17:22:45 +02:00
Jan Scheer
f8e96150f8
fix clippy warnings and spelling
...
* add some missing LICENSE headers
2021-06-04 15:39:34 +02:00
Mikadore
4a84c15955
fix minrustv build error
2021-06-04 00:19:44 +02:00
Mikadore
afd7acb456
fmt
2021-06-03 23:39:47 +02:00
Mikadore
07f744c4ba
added invalid utf8 tests
2021-06-03 23:38:31 +02:00
Jan Scheer
130bf49e5d
Merge branch 'master' of github.com:uutils/coreutils into refactoring_parse_size
2021-06-03 22:32:34 +02:00
Jan Scheer
db3ee61742
du/sort/od/stdbuf: make error handling of SIZE/BYTES/MODE arguments more consistent
...
* od: add stderr info for not yet implemented '--strings' flag
2021-06-03 21:00:03 +02:00
Jan Scheer
ad26b7a042
head/tail/split: make error handling of NUM/SIZE arguments more
...
consistent
* add tests for each flag that takes NUM/SIZE arguments
* fix bug in tail where 'quiet' and 'verbose' flags did not override each other POSIX style
2021-06-03 20:37:29 +02:00
Michael Debertol
6c46d09397
ln: canonicalize the parent directory of dst, not dst
...
dst may or may not exist. In case it exists it might already be a symlink.
In neither case we should try to canonicalize dst, only its parent directory.
https://www.gnu.org/software/coreutils/manual/html_node/ln-invocation.html
> Relative symbolic links are generated based on their canonicalized
> **containing directory**, and canonicalized targets.
2021-06-03 19:10:22 +02:00
Sylvestre Ledru
841b689477
Merge pull request #2334 from sylvestre/crate_version
...
use crate_version!() instead of reading the env + rustfmt
2021-06-03 10:56:57 +02:00
Sylvestre Ledru
24032498ad
Merge pull request #2339 from sylvestre/gnu-compat
...
Improve the gnu compat and use it for "touch"
2021-06-03 10:53:47 +02:00
Sylvestre Ledru
963a0da0b4
Merge pull request #2288 from syukronrm/du-time
...
du: fix `--time` behavior
2021-06-03 07:56:41 +02:00
Sylvestre Ledru
5de623cfab
Merge pull request #2330 from miDeb/cp/close-fd
...
cp: close file descriptors after cow on linux
2021-06-03 07:54:34 +02:00
Syukron Rifail M
05aeaf3061
du: fix --time behavior
2021-06-03 08:18:23 +07:00
Sylvestre Ledru
31875a241f
touch/gnu compat: 'touch no-file' exit code should be 1
2021-06-02 23:50:35 +02:00
Sylvestre Ledru
eb2c06c37e
touch/gnu compat: when touch fails because of a permission error, change the error message
...
+ return 1 as error code when having this error
2021-06-02 23:48:16 +02:00
Jan Scheer
5898b99627
truncate: add error handling for SIZE argument
...
* add tests for SIZE argument
* fix clap argument handling for --size and --reference
2021-06-02 22:08:42 +02:00
Jan Scheer
2f5f7c6fa1
split: use "parse_size" from uucore
...
* make stderr of parsing SIZE/NUMBER argument consistent with GNU's behavior
* add error handling
* add tests
2021-06-02 21:32:41 +02:00
Michael Debertol
ed69d797b5
ln: reject --relative without --symbolic
2021-06-02 21:02:12 +02:00
Michael Debertol
7ffc7d073c
cp: test that file descriptors are closed
2021-06-02 19:21:16 +02:00
Sylvestre Ledru
6aa53ead7c
rustfmt the recent change
2021-06-02 18:43:35 +02:00
Terts Diepraam
48516cc06a
pr: fix usage of current time
2021-06-02 17:18:07 +02:00
Sylvestre Ledru
132ddf98b6
Merge pull request #2328 from miDeb/seq/validator
...
seq: reject NaN arguments
2021-06-02 11:20:13 +02:00
Jan Scheer
6b8de1dd8b
sort: use "parse_size" from uucore
...
* make parsing of SIZE argument consistent with GNU's behavior
* add error handling
* add tests
2021-06-02 05:13:57 +02:00
Michael Debertol
a323e9cda1
cp: show errors in cow on linux
2021-06-01 23:06:38 +02:00
Michael Debertol
5329d77cc2
seq: adapt output to GNU seq
2021-06-01 20:35:18 +02:00
Michael Debertol
9b29ac98a5
seq: reject NaN arguments
...
Move the validation logic to an argument validator.
2021-06-01 18:30:18 +02:00
Michael Debertol
06b3092f5f
sort: fix debug output for zeros / invalid numbers
...
We were reporting "no match" when sorting something like "0 ". This is
because we don't distinguish between 0 and invalid lines when sorting.
For debug output we have to get this information back.
2021-06-01 18:18:51 +02:00
Jan Scheer
cc659c8572
Merge branch 'master' of github.com:uutils/coreutils into refactoring_parse_size
2021-06-01 12:35:48 +02:00
Jan Scheer
3c7175f00d
head/tail: add fixes and tests for bytes/lines NUM arg (undocumented sign)
...
* change tail bytes/lines clap parsing to fix posix override behavior
* change tail bytes/lines NUM parsing logic to be consistent with head
2021-06-01 12:17:11 +02:00
Jan Scheer
84f2bff778
head: use "parse_size" from uucore
2021-06-01 09:30:43 +02:00
Sylvestre Ledru
a017c1b589
Merge pull request #2323 from miDeb/maint/spellcheck-all
...
maint: actually run spellcheck on all files
2021-05-31 23:36:56 +02:00
Sylvestre Ledru
8618771f2e
Merge pull request #2322 from miDeb/seq/improvements
...
seq: improve compatibility
2021-05-31 23:09:13 +02:00
Michael Debertol
41878f1bf4
refactor/pr: polish spelling
2021-05-31 22:46:01 +02:00
Sylvestre Ledru
7b7185f916
Fix clippy warnings in the pr tests
2021-05-31 21:20:55 +02:00
Michael Debertol
4cf18e96f3
seq: change default value for -t and remove dubious escape sequences
...
GNU seq does not support -t, but always outputs a newline at the end.
Therefore, our default for -t should be \n.
Also removes support for escape sequences (interpreting a literal "\n"
as a newline). This is not what GNU seq is doing, and unexpected.
2021-05-31 21:20:19 +02:00
Michael Debertol
6ccc305513
seq: implement integer sequences
...
If we notice that we can represent all arguments as BigInts, take a
different code path. Just like GNU seq this means we can print an
infinite amount of numbers in this case.
2021-05-31 21:20:12 +02:00
Sylvestre Ledru
badf7aacb7
Merge pull request #2300 from tertsdiepraam/pr
...
Implement `pr` (resurrection of the resurrected PR)
2021-05-31 21:14:57 +02:00
Sylvestre Ledru
15da98d84e
Merge pull request #2315 from rivy/maint.fmt+spell
...
Spell check and correct the project
2021-05-31 21:00:04 +02:00
Jan Scheer
8bf1e33b5d
Merge branch 'master' of github.com:uutils/coreutils into refactoring_parse_size
...
* truncate: use "parse_size" from uucore
* workaround fix for "test_reference"
2021-05-31 19:11:06 +02:00
Sylvestre Ledru
8d714b0ab0
Merge pull request #2317 from deantvv/fix-touch-parse-date
...
Fix touch parse date error
2021-05-31 18:18:44 +02:00
Dean Li
9d8e7b9acb
Fix touch parse date error
...
Now it can parse `touch -d 2000-01-23 file` and add test for parse date
error.
Related to #2311
2021-05-31 22:04:03 +08:00
Roy Ivy III
3f35e0a421
refactor ~ cargo make format
2021-05-31 08:23:58 -05:00
Roy Ivy III
4e20dedf58
tests ~ refactor/polish spelling (comments, names, and exceptions)
2021-05-31 08:23:57 -05:00
Terts Diepraam
7690dc018f
Merge branch 'master' into pr
2021-05-31 15:23:06 +02:00
Sylvestre Ledru
13fd02862c
Merge pull request #2316 from deantvv/rmdir-match-gnu-error
...
rmdir: match GNU error output
2021-05-31 15:23:03 +02:00
Jan Scheer
f9a088cecf
du: use "parse_size" from uucore
...
* fix stderr to be the same than GNU's `du` in case of invalid SIZE
2021-05-31 15:22:37 +02:00
Dean Li
9f1deb2df6
rmdir: match GNU error output
...
Related to #2258
2021-05-31 19:30:54 +08:00
Sylvestre Ledru
8c5dcd0765
Merge branch 'master' into implement-more
2021-05-31 10:17:15 +02:00
Jan Scheer
1c41efd732
stdbuf: use "parse_size" from uucore
2021-05-31 09:35:46 +02:00
Terts Diepraam
99fb2c5aac
Merge pull request #2310 from sylvestre/clippy2
...
Fix a clippy warning
2021-05-30 23:06:10 +02:00
Sylvestre Ledru
69850942b6
fix a clippy warning
...
WARNING: `cargo clippy`: single-character string constant used as pattern
2021-05-30 16:26:03 +02:00
Anup Mahindre
898d325aea
ls: Fix minor output mismatch
...
When a single directory is passed to ls in recursive mode, uutils ls
won't print the directory name
======================
GNU ls:
z:
======================
======================
uutils ls:
======================
This commit fixes this minor inconsistency and adds corresponding test.
2021-05-30 18:00:52 +05:30
Sylvestre Ledru
3913731222
Revert "rmdir: match GNU error output"
2021-05-30 09:55:02 +02:00
Dean Li
5b417e251d
rmdir: match GNU error output
...
Related to #2258
2021-05-30 10:45:54 +08:00
Michael Debertol
dc63133f14
sort: correctly inherit global flags for keys ( #2302 )
...
Closes #2254 . We should only inherit global settings for keys when there
are absolutely no options attached to the key.
The default key (matching the whole line) is implicitly added only if no
keys are supplied.
Improved some error messages by including more context.
2021-05-29 23:25:56 +02:00
Michael Debertol
d821719c67
expr: support arbitrary precision integers ( #2271 )
...
* expr: support arbitrary precision integers
Instead of i64s we now use BigInts for integer operations. This means
that no result or input can be out of range.
The representation of integer flags was changed from i64 to u8 to make
their intention clearer.
* expr: allow big numbers as arguments as well
Also adds some tests
* expr: use num-traits to check bigints for 0 and 1
* expr: remove obsolete refs
match ergonomics made these avoidable.
* formatting
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
2021-05-29 23:25:23 +02:00
Terts Diepraam
b0bf3e7e0f
pr: rustfmt test_pr.rs and utils.rs
2021-05-29 19:34:17 +02:00
Terts Diepraam
bc1870c0a7
Merge branch 'master' into pr
2021-05-29 19:21:31 +02:00
Jeffrey Finkelstein
4e73b919e9
truncate: add test for -r and -s options together
...
Add a test for when the reference file is not found and both `-r` and
`-s` options are given on the command-line.
2021-05-29 15:11:27 +02:00
Gilad Naaman
17b0939dee
Moved factor to use clap
...
Issue: https://github.com/uutils/coreutils/issues/2121
2021-05-29 15:11:27 +02:00
Jan Scheer
e4aa8ee159
users: fix long_help text and clippy warning
2021-05-29 15:11:27 +02:00
Jan Scheer
3aeccfd802
fix a lot of clippy warnings
2021-05-29 15:11:22 +02:00
Sylvestre Ledru
3d42d41a72
Merge pull request #2247 from jfinkels/truncate-split-three-functions
...
truncate: re-organize truncate() into one function for each mode of operation
2021-05-29 10:31:02 +02:00
Sylvestre Ledru
0746b3e1e6
Merge pull request #2292 from Gilnaa/2121-factor-clap
...
Moved factor to use clap
2021-05-29 10:30:06 +02:00
Jan Scheer
714661774b
users: fix long_help text and clippy warning
2021-05-29 02:34:43 +02:00
Michael Debertol
bb268d1500
sort: crash when failing to open an input file ( #2265 )
...
* sort: crash when failing to open an input file
Instead of ignoring files we fail to open, crash.
The error message does not exactly match gnu, but that would require
more effort.
* use split_whitespace instead of a manual implementation
* fix expected error on windows
* sort: update expected error message
2021-05-28 22:39:33 +02:00
Michael Debertol
e9656a6c32
sort: make GNU test sort-debug-keys pass ( #2269 )
...
* sort: disable support for thousand separators
In order to be compatible with GNU, we have to disable thousands
separators. GNU does not enable them for the C locale, either.
Once we add support for locales we can add this feature back.
* sort: delete unused fixtures
* sort: compare -0 and 0 equal
I must have misunderstood this when implementing, but GNU considers
-0, 0, and invalid numbers to be equal.
* sort: strip blanks before applying the char index
* sort: don't crash when key start is after key end
* sort: add "no match" for months at the first non-whitespace char
We should put the "^ no match for key" indicator at the first
non-whitespace character of a field.
* sort: improve support for e notation
* sort: use maches! macros
2021-05-28 22:38:29 +02:00
Jan Scheer
0bf14da490
tail: use "parse_size" from uucore
2021-05-28 22:21:03 +02:00
Sylvestre Ledru
fe42808e9b
Merge branch 'master' into implement-more
2021-05-28 19:49:48 +02:00
Gilad Naaman
6a9ffee548
Moved factor to use clap
...
Issue: https://github.com/uutils/coreutils/issues/2121
2021-05-28 19:48:28 +03:00
Terts Diepraam
c7930a63f7
Merge pull request #2285 from blesson3/cp-backup-arg-fix
...
cp: fix regressed issue with `--backup` and `-b`
2021-05-28 18:44:09 +02:00
Terts Diepraam
ebe6341ae3
chore: replace tempdir with tempfile
2021-05-27 22:47:03 +02:00
Sylvestre Ledru
41539df91d
Merge pull request #2280 from jhscheer/symlink_tests
...
Improve symlink/hardlink handling in tests
2021-05-27 09:41:48 +02:00
Matt Blessed
41bea72f23
cp: fix regressed issue with --backup
and -b
...
- add test for regressed issue
2021-05-26 18:29:03 -04:00
Matt Blessed
f11f5f3abb
mv: refactor backup logic to use shared uucore backup control
...
- add mv backup tests
2021-05-26 18:23:48 -04:00
Terts Diepraam
b4f6c81810
Merge pull request #2281 from deantvv/chmod-match-gnu-error
...
chmod: match GNU error
2021-05-26 21:13:05 +02:00
Terts Diepraam
658e52dde0
Merge pull request #2275 from blesson3/cp-backup-support
...
cp: implement backup support
2021-05-26 21:12:01 +02:00
Matt Blessed
25ed5eeb0e
cp: move option check to uumain and use show_usage_error
...
- add test for conflicting options `--backup` and `--no-clobber`
2021-05-26 11:10:04 -04:00
Dean Li
fe25b51a66
chmod: match GNU error
...
Related to #2260
Signed-off-by: Dean Li <deantvv@gmail.com>
2021-05-26 22:31:02 +08:00
Jan Scheer
efd5921bda
tests/test: replace call to 'ln -s' with call to 'AtPath::symlink_file'
2021-05-26 13:42:12 +02:00
Jan Scheer
6a70d89e8c
tests/du: replace call to 'ln' with call to 'AtPath::hard_link'
2021-05-26 12:55:53 +02:00
Matt Blessed
a8a1ec7faf
cp: implement backup control with tests
2021-05-25 23:22:32 -04:00
Yağız can Değirmenci
12f207a6d6
test: fix tests
2021-05-26 03:21:53 +03:00
Yağız can Değirmenci
8fe34c72d2
test: fix tests
2021-05-26 03:07:49 +03:00
Yağız can Değirmenci
071899d24d
tests: delete 'error:' prefix from the tests
2021-05-26 02:45:53 +03:00
Yağız can Değirmenci
991fcc548c
fix: log error messages properly on permission errors
2021-05-24 21:07:45 +03:00
Michael Debertol
218f523e1b
expr: make substr infallible
...
Instead of returning an Err it should return the "null string"
(in our case that's the empty string) when the offset or length
is invalid.
2021-05-23 22:22:34 +02:00
Sylvestre Ledru
7bf076505f
Merge branch 'master' into who_fix_runlevel
2021-05-23 09:32:37 +02:00
Sylvestre Ledru
b175534a97
Merge pull request #2264 from miDeb/sort-sort-flag
...
sort: support --sort flag and check for conflicts
2021-05-23 09:30:03 +02:00
Sylvestre Ledru
41bd025d00
Merge pull request #2209 from jfinkels/head-ring-buffer
...
head: add abstractions for "all but last n lines"
2021-05-23 09:28:17 +02:00
Jeffrey Finkelstein
bc9db289e8
head: add abstractions for "all but last n lines"
...
Add some abstractions to simplify the `rbuf_but_last_n_lines()`
function, which implements the "take all but the last `n` lines"
functionality of the `head` program. This commit adds
- `RingBuffer`, a fixed-size ring buffer,
- `ZLines`, an iterator over zero-terminated "lines",
- `TakeAllBut`, an iterator over all but the last `n` elements of an
iterator.
These three together make the implementation of
`rbuf_but_last_n_lines()` concise.
2021-05-22 23:56:48 -04:00
Jeffrey Finkelstein
a746e37dc7
truncate: add test for -r and -s options together
...
Add a test for when the reference file is not found and both `-r` and
`-s` options are given on the command-line.
2021-05-22 23:45:05 -04:00
Jan Scheer
44c033a013
who: exclude --runlevel from non Linux targets ( fix #2239 )
2021-05-23 03:05:15 +02:00
Sylvestre Ledru
95092e6440
ignore test_should_calculate_implicit_padding_per_free_argument
...
Fails from time to time with
```
---- test_numfmt::test_should_calculate_implicit_padding_per_free_argument stdout ----
current_directory_resolved:
run: /target/x86_64-unknown-linux-musl/debug/coreutils numfmt --from=auto 1Ki 2K
thread 'test_numfmt::test_should_calculate_implicit_padding_per_free_argument' panicked at 'failed to write to stdin of child: Broken pipe (os error 32)', tests/common/util.rs:859:21
```
2021-05-23 00:34:01 +02:00
Sylvestre Ledru
4aaeede3d8
rustfmt the recent change
2021-05-23 00:13:53 +02:00
Michael Debertol
c1f67ed775
sort: support --sort flag and check for conflicts
...
`sort` supports three ways to specify the sort mode: a long option
(e.g. --numeric-sort), a short option (e.g. -n) and the sort flag
(e.g. --sort=numeric).
This adds support for the sort flag.
Additionally, sort modes now conflict, which means that an error is
shown when multiple modes are passed, instead of silently picking a mode.
For consistency, I added the `random` sort mode to the `SortMode` enum,
instead of it being a bool flag.
2021-05-22 23:10:41 +02:00
David Carlier
fcb079e20e
who freebsd build fix unsupported RUN_LVL option only for other platforms.
2021-05-22 18:07:02 +01:00
Sylvestre Ledru
542deb8888
Merge pull request #2246 from miDeb/sort-automatic-extsort
...
sort: automatically fall back to extsort
2021-05-22 17:21:02 +02:00
Sylvestre Ledru
8055f26a73
Merge pull request #2228 from jfinkels/tail-obo-positive-bytes
...
tail: fix off-by-one issue for +NUM args
2021-05-22 17:18:55 +02:00
Sylvestre Ledru
66dd6dbeff
Merge pull request #2244 from jfinkels/truncate-fix-round-up-character
...
truncate: fix character used to indicate round up
2021-05-22 14:03:59 +02:00
Michael Debertol
088443276a
sort: improve handling of buffer size cmd arg
...
Instead of overflowing when calculating the buffer size, use
saturating_{pow, mul}.
When failing to parse the buffer size, we now crash instead of silently
ignoring the error.
2021-05-22 14:00:07 +02:00
Sylvestre Ledru
4d3be19de3
Merge pull request #2240 from jhscheer/macos_test_coreutils
...
who/stat/pinky: adjust tests to be compatible with running on macOS
2021-05-22 12:39:05 +02:00
Sylvestre Ledru
424a99f0e6
Merge pull request #2193 from jfinkels/2186-min-width-stdin
...
wc: compute minimum width to format counts up front
2021-05-22 12:37:42 +02:00
Anup Mahindre
9f88963764
tests: fix test_ls_path for windows
2021-05-22 14:54:01 +05:30
Michael Debertol
e7da8058dc
sort: automatically fall back to extsort
...
To make this work we make default sort a special case of external sort.
External sorting uses auxiliary files for intermediate chunks. However,
when we can keep our intermediate chunks in memory, we don't write them
to the file system at all. Only when we notice that we can't keep them
in memory they are written to the disk.
Additionally, we don't allocate buffers with the capacity of their
maximum size anymore. Instead, they start with a capacity of 8kb and are
grown only when needed.
This makes sorting smaller files about as fast as it was before
(I'm seeing a regression of ~3%), and allows us to seamlessly continue
with auxiliary files when needed.
2021-05-21 23:09:46 +02:00
Anup Mahindre
31545258ac
tests: Fix test_ls_path
2021-05-21 22:24:13 +05:30
Jan Scheer
007e0a4e7f
who/stat/pinky: adjust tests to be compatible with running on macOS
...
A lot of tests depend on GNU's coreutils to be installed in order
to obtain reference values during testing.
In these cases testing is limited to `target_os = linux`.
This PR installs GNU's coreutils on "github actions" and adjusts the
tests for `who`, `stat` and `pinky` in order to be compatible with macOS.
* `brew install coreutils` (prefix is 'g', e.g. `gwho`, `gstat`, etc.
* switch paths for testing to something that's available on both OSs,
e.g. `/boot` -> `/bin`, etc.
* switch paths for testing to the macOS equivalent,
e.g. `/dev/pts/ptmx` -> `/dev/ptmx`, etc.
* exclude paths when no equivalent is available,
e.g. `/proc`, `/etc/fstab`, etc.
* refactor tests to make better use of the testing API
* fix a warning in utmpx.rs to print to stderr instead of stdout
* fix long_usage text in `who`
* fix minor output formatting in `stat`
* the `expected_result` function should be refactored
to reduce duplicate code
* more tests should be adjusted to not only run on `target_os = linux`
2021-05-21 11:55:20 +02:00
Sylvestre Ledru
76844dbd56
Merge pull request #2241 from jfinkels/truncate-rustfmt-test
...
truncate: rustfmt test_truncate.rs file
2021-05-21 10:06:45 +02:00
Jeffrey Finkelstein
a23555e857
truncate: fix character used to indicate round up
...
Fix a bug in which the incorrect character was being used to indicate
"round up to the nearest multiple" mode. The character was "*" but it
should be "%". This commit corrects that.
2021-05-20 23:19:58 -04:00
Jeffrey Finkelstein
fc29846b45
truncate: fix error message for file not found
...
Change the error message for when the reference file (the `-r` argument)
is not found to match GNU coreutils. This commit also eliminates a
redundant call to `File::open`; the file need not be opened because the
size in bytes can be read from the result of `std::fs::metadata()`.
2021-05-20 20:59:59 -04:00
Jeffrey Finkelstein
d30393089f
truncate: rustfmt test_truncate.rs file
2021-05-20 20:58:56 -04:00
Sylvestre Ledru
b9e99543db
Merge pull request #2234 from chadbrewbaker/fix-cat-random-timeout
...
dev random blocks on linux
2021-05-20 23:25:11 +02:00
Sylvestre Ledru
efb781f59a
Merge pull request #2221 from jfinkels/head-display-multiple-errors-2
...
head: display errors for each input file instead of terminating at the first error
2021-05-20 23:24:35 +02:00
Sylvestre Ledru
ca196a6dad
Merge pull request #2218 from miDeb/sort-chunks
...
sort: read files as chunks, off-thread
2021-05-20 23:24:02 +02:00
Jeffrey Finkelstein
63b496eaa8
truncate: refactor parse_size() function
...
Change the interface provided by the `parse_size()` function to reduce
its responsibilities to just a single task: parsing a number of bytes
from a string of the form '123KB', etc. Previously, the function was
also responsible for deciding which mode truncate would operate in.
Furthermore, this commit simplifies the code for parsing the number and
unit to be less verbose and use less mutable state.
Finally, this commit adds some unit tests for the `parse_size()`
function.
2021-05-19 23:07:11 -04:00
Chad Brewbaker
9167a4128d
Update test_cat.rs
...
Refactored to constants
2021-05-19 04:06:46 -05:00