Commit graph

9463 commits

Author SHA1 Message Date
Yang Hau
109553436d add function profile 2023-02-19 18:09:34 +08:00
Terts Diepraam
3daf269ba4
Merge pull request #4364 from kylemanna/km/fix-install-directory-perms
install: fix bad target directory permissions
2023-02-19 10:40:31 +01:00
Kyle Manna
376f4d90ef install: add tests for invalid owner and group
* Move the user and group resolution to the behavior decoding instead of
  re-running on every file/directory creation.  Simplifies code.
* Update error output to match GNU coreutils.
* Add tests to verify invalid owner and group.
2023-02-18 22:46:12 -06:00
Kyle Manna
5876cd2581 install: add missing directory chown
* Re-factor the copy function chown into a function that can be re-used.
* Fix bug where the group overwrote the user.
* Add chown compatibility to follow GNU coreutils.
* Reduce two chown calls to a single syscall only when needed.
* Fixes #4361
2023-02-18 22:46:12 -06:00
Kyle Manna
7aa7f219a0 install: fix issue #4360 with bad target directory permissions
* Correct bug that set the last directory to the mode the file should
  have been set to.
* Add unit test to verify correct functionality.
2023-02-18 22:32:31 -06:00
Yang Hau
2cd19522e4 fix: Fix panic in multi-byte characters
Closes #4353
2023-02-19 10:15:53 +08:00
Joining7943
1c230fd779 tests/util: Refactor UCommand and TestScenario.
Summary of changes in UCommand:
* Extend UCommand by builder methods and simplify methods in TestScenario
* Simplify code structures where possible. Add documentation.
* Store bin_path as PathBuf and util_name as String in all structs
* Remove UCommand::util and make bin_path, temp_dir private
* Rename UCommand::with_limit -> UCommand::limit

Summary of changes in TestScenario:
* Rename some parameters in TestScenario methods to be more descriptive
* Remove ucmd_keepenv, cmd_keepenv from TestScenario. Use UCommand::keep_env instead.
2023-02-18 23:38:20 +01:00
Terts Diepraam
ae65abe4a5
Merge pull request #4320 from sylvestre/fs_extra
mv: Update of fs_extra - address the new warnings
2023-02-18 23:19:49 +01:00
Jeffrey Finkelstein
c52647a632 dd: add support for skipping in input FIFO
For example, `dd skip=1 if=fifo` will now work.
2023-02-18 21:24:16 +01:00
Jeffrey Finkelstein
9c3f810f97 dd: add support for seeking in output FIFOs
For example, `dd seek=1 of=fifo` will now work.
2023-02-18 21:24:16 +01:00
Jeffrey Finkelstein
cf72c990f2 dd: create Source enum and simpler Input struct
This mirrors a recent commit that introduced the `Dest` enum and a
simplified `Output` struct. These changes allow us to add new types of
inputs and output more easily.
2023-02-18 21:24:16 +01:00
Sylvestre Ledru
f88b4f4109
Merge branch 'main' into fs_extra 2023-02-18 17:23:07 +01:00
Sylvestre Ledru
3d3beb5437
Merge pull request #4296 from sylvestre/gnu-intermittent
GNU: Ignore some intermittent
2023-02-18 16:54:28 +01:00
Yang Hau
678a11dcf2 cksum: Implement option -a
Implement option -a --algorithm.
Move digest to src/uucore/src/lib/features and rename it to hash.

fix lint

fix Cargo.toml
2023-02-18 20:58:53 +08:00
Terts Diepraam
d21448dc74
Merge pull request #4386 from sylvestre/cancel-ci
End the current execution if there is a new changeset in the PR
2023-02-18 11:09:58 +01:00
Sylvestre Ledru
2f64dc9d03 GNU: Ignore some intermittent
We have a list, no need to show them over and over.
They are adding noise:
https://github.com/orgs/uutils/projects/2
2023-02-18 10:17:50 +01:00
Sylvestre Ledru
b763143db0 End the current execution if there is a new changeset in the PR 2023-02-17 18:02:32 +01:00
Terts Diepraam
f0a2a7f41e
Merge pull request #4374 from sylvestre/doc-distro
refresh the installation doc with new distros
2023-02-17 17:55:55 +01:00
Joining7943
fdf0f96a01 tests/util: Restructure UCommand to run in shell per default. Introduce constant TESTS_BINARY.
Summary of changes in tests/util:

* Introduce global constant TESTS_BINARY holding the path to `coreutils`
* Implement running an arbitrary command in a sh or cmd shell per default.
* Implement std::fmt::Display for UCommand.
* Change usages of UCommand::util_name from &Option<OsStr> to Option<OsStr>
* `UCommand::new_from_tmp`: Use OsStr directly instead of TempDir -> String -> OsStr
* Collect arguments in `UCommand::args` field
* Build environment variables in `UCommand` itself instead of `std::process::Command`
* Move building of std::process:Command from fields in UCommand to own method `build`
* Remove assertions of UCommand::has_run in arg, args and env.

Summary of changes in tests/by-util:

* Remove usages of UCommand::raw. Fix tests to use UCommand::to_string.
* test_test: Adjust test_invalid_utf8_integer_compare to use `UCommand::args`
* test_chmod: run_single_test
* test_pwd: symlinked_env
* test_cp:
    Fix the usage of &Option<OsStr> in `test_src_base_dot`
    Refactor test_src_base_dot to not use UCommand::new but ts.ucmd() instead
2023-02-17 17:39:33 +01:00
Joining7943
2b5b0c82c1 tests/util: Bump rlimit version to 0.9.1 to be able to use prlimit on android 2023-02-17 17:39:30 +01:00
Daniel Hofstetter
dcc7c4ed7b Use help_about! & adapt help files for its usage 2023-02-17 16:40:22 +01:00
Daniel Hofstetter
2c027a9312 uucore_procs: add help_about macro 2023-02-17 15:39:26 +01:00
Daniel Hofstetter
1ba0c6853c uucore_procs: drop need for "Usage" header in help 2023-02-17 14:51:40 +01:00
Daniel Hofstetter
94eddc4701 uucore_procs: separate file opening & parsing 2023-02-17 11:37:25 +01:00
Terts Diepraam
9fdce975fd
Merge pull request #4359 from dmatos2012/chmod-multiple-files-error
chmod: change permissions for files present even when there is a missing file
2023-02-17 11:27:32 +01:00
David Matos
946c8d2d4a chmod: change permissions for files present even when there is a missing file 2023-02-16 23:13:06 +01:00
Sylvestre Ledru
361690c49c
Merge pull request #4376 from Joining7943/tail-remove-unused-features
`tail`: Cargo.toml: Remove unneeded features of uucore and the nix dependency
2023-02-16 22:38:14 +01:00
Joining7943
cca54089fb tail: Cargo.toml: Remove unneeded features of uucore and the nix dependency 2023-02-16 20:00:38 +01:00
Joining7943
f610f33aa7
tests/util: Don't trim output in CmdResult::stdout_matches and stdout_does_not_match (#4304)
* tests/util: Fix documentation of UCommand::stderr_only and usage_error

* tests/util: Remove trimming from CmdResult::stdout_matches and stdout_does_not_match. Fix tests.

The tests are fixed to match the trailing newline instead of ignoring it.
2023-02-16 15:33:33 +01:00
Terts Diepraam
ff5000d4d0
Merge pull request #4239 from Joining7943/tail-fix-parsing-of-sleep-interval
`tail`: fix argument parsing of sleep interval
2023-02-16 15:14:53 +01:00
Sylvestre Ledru
d3fc0e8706
Merge pull request #4314 from cakebaker/comm_total_with_output_delimiter
comm: use delimiter on "total" line
2023-02-16 14:24:02 +01:00
Terts Diepraam
ef9d39e046
Merge pull request #4375 from papparapa/cat-move-help-strings-to-md-file
cat: move help strings to markdown file
2023-02-16 13:36:04 +01:00
Koki Ueha
5cc9130490 cat: move help strings to markdown file 2023-02-16 10:47:34 +00:00
papparapa
34e31f20e7
cp: move help strings to markdown file (#4372)
* cp: move help strings to markdown file

* cp: change markdown section order
2023-02-16 11:23:32 +01:00
Sylvestre Ledru
5e98227714 refresh the installation doc with new distros 2023-02-16 08:17:42 +01:00
Sylvestre Ledru
1c2a1ada96
Merge pull request #4371 from cakebaker/stat_fix_md_formatting
stat: fix markdown formatting
2023-02-15 16:39:08 +01:00
Daniel Hofstetter
675c55ba01 stat: fix markdown formatting 2023-02-15 16:16:10 +01:00
Sylvestre Ledru
76034a8fe2
Merge pull request #4367 from cakebaker/replace_get_long_usage_fn_with_const
Replace get_long_usage fns with const
2023-02-15 08:18:36 +01:00
Terts Diepraam
df7fe29095
Merge pull request #4339 from howjmay/tr-newline
tr: Remove the extra newline in stderr
2023-02-14 22:58:40 +01:00
Guilherme A. de Souza
04b6d806a2
nproc: replace num_cpus crate with thread::available_parallelism (#4352)
* nproc: replace num_cpus crate with std:🧵:available_parallelism

* nproc: unwrap Result for Windows

* nproc: if thread::available_parallelism results in err return 1

* nproc: wrap the call to available_parallelism into a function

* nproc: remove comment in the wrong place

* nproc: fix style violation

* nproc: fix comment, refers to the new function
2023-02-14 22:43:09 +01:00
Yang Hau
ec81a23afc tr: Remove the extra newline in stderr
closes #4301
2023-02-15 02:04:43 +08:00
Terts Diepraam
e8af2a1e67
Merge pull request #4256 from Joining7943/tests-util-fix-test-executable-resolution
tests/util: Fix path resolution of test executable
2023-02-14 15:56:39 +01:00
Joining7943
3a613cbc7f tests/util: Fix path resolution of test executable 2023-02-14 11:22:49 +01:00
Daniel Hofstetter
99f3fc8356 Replace get_long_usage fns with const 2023-02-14 09:51:28 +01:00
Sylvestre Ledru
b1392195f6
Merge branch 'main' into fs_extra 2023-02-14 09:31:45 +01:00
Sylvestre Ledru
b9ae16c09f
Merge pull request #4363 from jfinkels/clippy-fixes-2
Fixes from nightly version of clippy
2023-02-14 09:11:36 +01:00
Sylvestre Ledru
92ec546188
Merge pull request #4331 from tertsdiepraam/document-env-files
docs: document env -f/--file in GNU extensions
2023-02-14 08:49:48 +01:00
Jeffrey Finkelstein
c6d9d7f11c Clippy fixes 2023-02-13 21:33:42 -05:00
Sylvestre Ledru
072335a2ff
Merge pull request #4354 from cakebaker/uniq_remove_lint_suppression
uniq: remove suppression of use_self lint
2023-02-13 11:49:44 +01:00
Daniel Hofstetter
c433f8b475 uniq: remove suppression of use_self lint 2023-02-13 08:53:26 +01:00