Commit graph

579 commits

Author SHA1 Message Date
Juliana Rodrigueiro
97da14fcb2 install: Fix behaviour of the -d flag
The '-d' flag should create all ancestors (or components) of a
directory regardless of the presence of the "-D" flag.

From the man page:
       -d, --directory
              treat all arguments as directory names; create all components of the specified directories

With GNU:
    $ install -v -d dir1/di2
    install: creating directory 'dir1'
    install: creating directory 'dir1/di2'
With this version:
    $ ./target/release/install -v -d dir3/di4
    install: dir3/di4: No such file or directory (os error 2)
    install: dir3/di4: chmod failed with error No such file or directory (os error 2)
    install: created directory 'dir3/di4'

Also, one of the unit tests misinterprets what a "component" is,
and hence was fixed.
2021-04-02 20:04:25 +01:00
Sylvestre Ledru
4934af0c3d
Merge pull request #2007 from drocco007/fold-preserve-blank-lines
fold: preserve blank lines
2021-04-02 20:00:05 +02:00
Daniel Rocco
d12f96d9ca fold: preserve blank lines 2021-04-02 10:14:11 -04:00
ReggaeMuffin
2eb32d845e
chores: run cargo +1.40.0 fmt
Apparently fmt from 1.40.0 is a bit more strict in some places

Let me know if this is worthwhile merging :)
2021-04-02 10:56:49 +01:00
Sylvestre Ledru
de6aa69259
Merge pull request #1997 from sylvestre/polish3
Rustfmt+clippy+cargo.lock update
2021-04-02 11:37:56 +02:00
Jan Scheer
4a6176855a
relpath: move from getops to clap (#1939) (#1990)
* relpath: add tests

* relpath: move from getopts to clap
2021-04-02 09:55:57 +02:00
Paul Otten
7859bf885f Consistency with GNU version of du when doing du -h on an empty file 2021-04-01 19:42:43 -04:00
Sylvestre Ledru
dcbcf01665 Fix some clippy warnings 2021-04-01 23:42:30 +02:00
paulotten
090d29496a
Issue #1622 port du to windows (#1788)
* Issue #1622 port `du` to windows

* Attempt to support Rust 1.32

Old version was getting "attributes are not yet allowed on `if`
expressions" on Rust 1.32

* Less #[cfg]

* Less duplicate code.

I need the return and the semicolon after if otherwise the second #[cfg]
leads to unexpected token complilation error

* More accurate size on disk calculations for windows

* Expect the same output on windows as with WSL

* Better matches output from du on WSL

* In the absence of feedback I'm disabling these tests on Windows.
They require `ln`. Windows does not ship with this utility.

* Use the coreutils version of `ln` to test `du`

`fn ccmd` is courtesy of @Artoria2e5

* Look up inodes (file ids) on Windows

* One more #[cfg(windows)] to prevent unreachable statement warning on linux
2021-04-01 23:16:47 +02:00
Terts Diepraam
2941dfd698
ls: quoting style (#1989) 2021-04-01 22:50:13 +02:00
Sylvestre Ledru
cc9c846032
Merge pull request #1991 from Mikadore/od_test
od: refactor tests for #1982
2021-04-01 09:50:25 +02:00
Mikadore
bb3e93372f od: refactor tests for #1982 2021-04-01 02:16:15 +02:00
Yagiz Degirmenci
e958864bd9
tac: exit with proper code, move from getopts to clap, add test for invalid inputs (#1957) 2021-03-31 21:21:10 +02:00
Mikadore
b8079098f2 fixed panic! formatting 2021-03-31 13:30:06 +02:00
Mikadore
96643d6f91
fix #1970 (#1980) 2021-03-31 03:54:16 -07:00
Mikadore
a57f17ac5b
Expand CmdResult's API (#1977) 2021-03-31 02:25:23 -07:00
desbma
be03c948ed
Add pre-commit hook + run fmt (#1959) 2021-03-30 21:24:01 +02:00
Árni Dagur
698dab12a6
wc: Don't read() if we only need to count number of bytes (Version 2) (#1851)
* wc: Don't read() if we only need to count number of bytes

* Resolve a few code review comments

* Use write macros instead of print

* Fix wc tests in case only one thing is printed

* wc: Fix style

* wc: Use return value of first splice rather than second

* wc: Make main loop more readable

* wc: Don't unwrap on failed write to stdout

* wc: Increment error count when stats fail to print

* Re-add Cargo.lock
2021-03-30 20:53:02 +02:00
Jan Scheer
2647a72e9e chmod: fixed behavior for dangling symlinks (#1775) 2021-03-29 22:07:09 +02:00
Ricardo Iglesias
5f17719a59
Implemented --indicator-style flag on ls. (#1907)
* Implemented --indicator-style flag on ls.

* Rust fmt

* Grouped indicator_style args.

* Added tests for sockets and pipes.

Needed to modify util.rs to add support for pipes (aka FIFOs).

* Updated util.rs to remove FIFO operations on Windows

* Fixed slight error in specifying (not(windows))

* Fixed style violations and added indicator_style test for non-unix systems
2021-03-29 13:10:13 +02:00
Mikadore
8320b1ec5f
Rewrote head (#1911)
See https://github.com/uutils/coreutils/pull/1911
for the details
2021-03-29 13:08:48 +02:00
electricboogie
da5f2f3a6c
sort: Add a GNU-style Random Sorter (#1922) 2021-03-29 13:05:52 +02:00
Yagiz Degirmenci
8cc7a90d7c
sum: fix crash on invalid inputs, move to clap, add tests (#1952) 2021-03-29 13:03:56 +02:00
Sylvestre Ledru
acb57ecbd0
Merge pull request #1955 from jhscheer/chmod2clap
chmod: move from getopts to clap
2021-03-29 13:02:13 +02:00
Dominik Bittner
3714e2201b
tty: Move from getopts to clap (#1956)
+ tty: Add some tests
2021-03-29 13:00:47 +02:00
Jan Scheer
a9a3794d5a chmod: add tests 2021-03-28 20:56:37 +02:00
jaggededgedjustice
88d0bb01c0
Add shuf tests (#1958)
* Add tests for shuf

* Fixup GNU tests for shuf
2021-03-28 17:52:01 +02:00
Craig Pastro
6d4f70ccb2
shuf: move from getopts to clap (#1950) 2021-03-28 15:08:37 +02:00
Sylvestre Ledru
9758219b57
Merge pull request #1953 from sivachandran/pathch-codecov
pathchk: improve unit test code coverage with more tests
2021-03-28 15:05:31 +02:00
Sivachandran Paramasivam
dd0addb9c1 pathchk: improve unit test code coverage with more tests 2021-03-28 16:30:49 +05:30
Antonio Gurgel
a655117a5f
std:🧵:sleep needs target_os
Co-authored-by: Sylvestre Ledru <sledru@mozilla.com>
2021-03-28 00:42:25 -07:00
Antonio Gurgel
ebb4568d52 Forgot to unignore the test 2021-03-27 22:46:57 -07:00
Antonio Gurgel
01eb913c05 test_install: Add sleeps
To ensure timestamps don't match. Fixes #1927.
2021-03-27 19:37:58 -07:00
Sylvestre Ledru
dc879634cb
Merge pull request #1839 from jhscheer/iss1769
rm: fix for -d to match GNU's output #1769
2021-03-27 22:56:16 +01:00
Ivan
500771c78d
tee: should match GNU's output if used with /dev/full (#1944)
+ aligned 'tee' output with GNU tee when one of the files is '/dev/full'
+ don't stop tee when one of the outputs fails; just continue and return
error status from tee in the end

Co-authored-by: Ivan Rymarchyk <irymarchyk@arlo.com>
2021-03-27 20:02:49 +01:00
Yagiz Degirmenci
f66a188414
mkfifo: general refactor, move to clap, add tests (#1945)
* mkfifo: general refactor, move to clap, add unimplemented flags

* chore: update Cargo.lock

* chore: delete unused variables, simplify multiple lines with crash

* test: add tests

* chore: revert the use of crash

* test: use even more invalid mod mode
2021-03-27 20:00:59 +01:00
Sylvestre Ledru
e9ffaf87ea ignore test_install_copy_then_compare_file_with_extra_mode
see https://github.com/uutils/coreutils/issues/1927
2021-03-27 10:47:28 +01:00
Sylvestre Ledru
75700677ca fix(install): improve the error output when the test is failing 2021-03-27 10:08:42 +01:00
Antonio Gurgel
35675fdfe7
install: implement -C / --compare (#1811)
* install: implement `-C` / `--compare`

GNU coreutils [1] checks the following: whether
- either file is nonexistent,
- there's a sticky bit or set[ug]id bit in play,
- either file isn't a regular file,
- the sizes of both files mismatch,
- the destination file's owner differs from intended, or
- the contents of both files mismatch.

[1] https://git.savannah.gnu.org/cgit/coreutils.git/tree/src/install.c?h=v8.32#n174

* Add test: non-regular files

* Forgot a #[test]

* Give up on non-regular file test

* `cargo fmt` install.rs
2021-03-27 09:18:47 +01:00
Jan Scheer
3ae714e88c
tests/tee: implemented tests for tee (#1804)
These tests are ported from `https://github.com/coreutils/coreutils/tests/misc/tee.sh`.
2021-03-27 09:16:45 +01:00
Terts Diepraam
955c547adf
ls: overrideable -n option (#1917) 2021-03-26 19:12:01 +01:00
Jan Scheer
aac79d13b3
Merge branch 'master' into iss1769 2021-03-25 23:23:08 +01:00
Jan Scheer
61eb4f250d rm: add more tests 2021-03-25 23:04:02 +01:00
Terts Diepraam
23b70001a8
ls: version sort (#1898) 2021-03-25 20:24:53 +01:00
Jan Scheer
bdf603a65e rm: make -d/-r obligatory for removing symlink_dir (windows) 2021-03-24 12:42:23 +01:00
Marco Satti
9b2ee1ce06
date: change tests to expect failure (#1895)
* date: change tests to expect failure

Although these tests contain valid dates, the parsing logic is not
implemented yet. It should be changed to expect success when
the parsing logic is done.

* date: fix test build errors
2021-03-24 08:33:11 +01:00
Yagiz Degirmenci
545fe7d887
feat(unexpand): move from getopts to clap (#1883)
* feat: move unexpand to clap

* chore: allow muliple files

* test: add test fixture, test reading from a file

* test: fix typo on file name, add test for multiple inputs

* chore: use 'success()' instead of asserting

* chore: delete unused variables

* chore: use help instead of long_help, break long line
2021-03-23 09:42:05 +01:00
Yagiz Degirmenci
5e2e2e8ab6
echo: allow leading hyphens (#1887)
* fix: use settings to allow leading hyphen and trailing var arg

fixes: https://github.com/uutils/coreutils/issues/1873

* test: add test cases

* test: add more test cases with different order in hyphen values

* chore: add comment to explain why we need TrailingVarArg
2021-03-23 09:40:05 +01:00
Neculai Balaban
a1b50ae0f4
nohup: move from getopts to clap (#1871)
- changed some error return codes to match GNU implementation
- changed warning/error messages to match GNU nohup
- replaced getopts dependency with clap
- added a test
2021-03-22 20:09:00 +01:00
Terts Diepraam
de3f9b8186
ls: across & commas formats and width parameter (#1869) 2021-03-22 18:24:23 +01:00