From a01cee764f620c154fcccb688d7b1a742f7f687e Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Tue, 9 Jun 2020 10:09:03 -0700 Subject: chmod: fix -R and dangling symlinks. Found trying to run the libc++ tests. For coreutils, `info chmod` says: 'chmod' ignores symbolic links encountered during recursive directory traversals. Bug: http://b/155809792 --- tests/chmod.test | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests') diff --git a/tests/chmod.test b/tests/chmod.test index b2b5a488..cbc32805 100755 --- a/tests/chmod.test +++ b/tests/chmod.test @@ -112,5 +112,12 @@ chtest u+s "drwsr-xr-x\n-rwSr--r--\n" chtest o+s "drwxr-xr-x\n-rw-r--r--\n" chtest +t "drwxr-xr-t\n-rw-r--r-T\n" +mkdir foo +ln -s bar foo/baz +# If you explicitly ask us, we'll try (and fail) to chmod a symlink. +testing "-R symlink arg" 'chmod -R 750 foo/baz 2>/dev/null; echo $?' "1\n" "" "" +# If you only imply that you might want us to do that, we'll skip it. +testing "-R symlink recurse" 'chmod -R 750 foo; echo $?' "0\n" "" "" + # Removing test files for cleanup purpose rm -rf dir file -- cgit v1.2.3