bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] improve the cp/parent-perm test


From: Jim Meyering
Subject: [PATCH] improve the cp/parent-perm test
Date: Thu, 31 Jan 2008 10:08:38 +0100

FYI,

        Improve the cp/parent-perm test.
        * tests/cp/parent-perm: Also check that perms of existing dest
        dirs are changed to match those of corresponding src dir

---
 tests/cp/parent-perm |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/tests/cp/parent-perm b/tests/cp/parent-perm
index cedcac4..1e9e8e1 100755
--- a/tests/cp/parent-perm
+++ b/tests/cp/parent-perm
@@ -24,10 +24,17 @@ fi
 . $srcdir/../envvar-check
 . $srcdir/../test-lib.sh

+. $abs_srcdir/../umask-check
+
 mkdir -p a/b/c a/b/d e || framework_failure
 touch a/b/c/foo a/b/d/foo || framework_failure
 cp -p --parent a/b/c/foo e || framework_failure

+# Make permissions of e/a different, so that we exercise the
+# code in cp -p --parents that propagates permissions even
+# to a destination directory that it doesn't create.
+chmod g-rx e/a e/a/b || framework_failure
+
 fail=0
 cp -p --parent a/b/d/foo e || fail=1

@@ -41,7 +48,10 @@ cp -p --parent a/b/d/foo e || fail=1
 # so "a/" inherits that.  However, when the user does not belong to
 # the group of the build directory, chmod ("a/e", 02755) returns 0,
 # yet fails to set the S_ISGID bit.
-test $(stat --printf %A a|sed s/s/x/g) = $(stat --printf %A e/a|sed s/s/x/g) ||
+for dir in a a/b a/b/d; do
+  test $(stat --printf %A $dir|sed s/s/x/g) \
+     = $(stat --printf %A e/$dir|sed s/s/x/g) ||
   fail=1
+done

 (exit $fail); exit $fail
--
1.5.4.rc5.1.ge6bfe




reply via email to

[Prev in Thread] Current Thread [Next in Thread]