From 6b282e7510ca8dcbb44f8402b52ba8c8b1d01b80 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Thu, 26 May 2011 11:15:11 +0100 Subject: 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. --- tests/chown/basic | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests') 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. -- cgit v1.2.3-70-g09d2