diff options
author | Pádraig Brady <P@draigBrady.com> | 2011-05-26 11:15:11 +0100 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2011-05-27 22:37:46 +0100 |
commit | 6b282e7510ca8dcbb44f8402b52ba8c8b1d01b80 (patch) | |
tree | aaa9a4534f95864169598bcb9ec9fdfde1003639 /tests | |
parent | 8a26bccb467a3b22e5d894234c4b4a5c337294d4 (diff) | |
download | coreutils-6b282e7510ca8dcbb44f8402b52ba8c8b1d01b80.tar.xz |
chown,chgrp: output the correct ownership in -v messages
* src/chown_core.c (describe_change): Accept the ownership of
the original file and output that when not changing.
This is significant when --from is specified as then
the original and specified ownership may be different.
(user_group_str): A new helper function refactored from
describe_change().
(change_file_owner): Pass the original user and group
strings to describe_change().
* test/chown/basic: Add a test case.
* NEWS: Mention the fix.
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/chown/basic | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/chown/basic b/tests/chown/basic index 0614f7090..5626029ae 100755 --- a/tests/chown/basic +++ b/tests/chown/basic @@ -27,6 +27,17 @@ chown -R --preserve-root 0:1 f # Make sure the owner and group are 0 and 1 respectively. set _ `ls -n f`; shift; test "$3:$4" = 0:1 || fail=1 +# Make sure the correct diagnostic is output +# Note we output a name even though an id was specified. +chown -v --from=42 43 f > out || fail=1 +printf "ownership of \`f' retained as `id -nu`\n" > exp +compare out exp || fail=1 + +# Ensure diagnostics work for non existent files. +chown -v 0 nf > out && fail=1 +printf "failed to change ownership of \`nf' to 0\n" > exp +compare out exp || fail=1 + chown --from=0:1 2:010 f || fail=1 # And now they should be 2 and 10 respectively. |