When the spec contains '.' but no ':', emit a warning matching GNU
coreutils behavior and re-parse with '.' as separator so both owner
and group are applied.
Closes#11352
* Display a message when the owner is not changed.
* Display a message when the current user/group doesn't match those specified in the `--from` args.
* print messages to stdout
* Show the message "ownership of 'foo' retained as 'bar'" for every path entry when `chown -v -R --from=`
* fix chown tests: test stdout and not stderr
* factorize duplicate code in a function
* Display a message when the owner is not changed.
* Display a message when the current user/group doesn't match those specified in the `--from` args.
* print messages to stdout
* Show the message "ownership of 'foo' retained as 'bar'" for every path entry when `chown -v -R --from=`
* fix chown tests: test stdout and not stderr
* factorize duplicate code in a function
* display the retained ownership details according to the destination ownership.
* print the message "failed to change ownership of" when we try to change a non existing file.
* replace the 4-tuple returned by parse_gid_uid_and_filter by GidUidOwnerFilter struct.
* chain the test in one expression.
* chown: remove unused var "result" in test
---------
Co-authored-by: Daniel Hofstetter <daniel.hofstetter@42dh.com>
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.