* hashsum: make tag conflicts with --text and --check
* hashsum: change the case in one of the gnu test
* build-gnu.sh: use symlink instead of copy
Plus: it won't cp new md5
* hashsum: also escape/unescape files with checks
Should fix tests/cksum/md5sum-bsd.sh
* improve the variable name
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
* Improve test
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
* Improve test
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
* cp: improve the support of --attributes-only
* remove useless comments
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
* Add tests that stat symlinks
* Check follow first in stat
* Don't run tests on FreeBSD
It would be possible to get them to run on FreeBSD by avoiding
get_symlink_times, but the behavior we're testing is not
platform-specific, so it's fine to not test it on FreeBSD.
---------
Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
* Make fperm hold 6 digit octal permission. Set it to 4 digits when displaying
* Add test
* Make every permission 4 octal digits
* Change test name to be more suggestive
* chmod: merge two args in test
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
Note in particular that `args_override_self` would *NOT* work here,
since it would in all cases cause `options::NAME` to override itself,
or interfere with `trailing_var_arg`.
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]
```
* stat: use chrono instead of time in fsext
This removes the dependency of `fsext` on `time` and it cleans up the code.
* stat: use chrono instead of time in fsext
This removes the dependency of `fsext` on `time` and it cleans up the code.
* stat: fix two errors from clippy & spell-checker
* stat: move fn to fix clippy error
* stat: print - if birth time unknown
* uucore/fsext: fix "unused import" error on Windows
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
* Refactor to use options struct and make it public for Nushell
* Return the output for use in nushell
* wip:opt1
* Add UNameOutput struct instead
* Apply req changes
* change back to mod options
* uname: add empty line & fix position of comment
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
* 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>
* 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>
* refactor wc.rs to remove clippy's cognitive complexity lint
* fix for tracking line length and number of words correctly if chunking occurs within them
* removing more of the cognitive complexity from the Err variant in the match block
* running cargo clippy once
* wc: add empty line to separate functions
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
Change the behavior of `dd` so that it parses numbers that would be too
big and instead treats them as `u64::MAX`. This allows `dd` to run
without error on
dd count=00x9999999999999999999999999999999999999999999999999999999999999
This matches the behavior of GNU `dd`.
This adresses only those where the fix has less letters than the
original and is "trivial" (There are possibly a lot of std::string::ToString::to_string
and those may only be shortened with additional imports).
Found with clippy::redundant-closure-for-method-calls
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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