]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Add some permission tests.
authorJim Meyering <jim@meyering.net>
Tue, 31 Oct 2000 08:12:28 +0000 (08:12 +0000)
committerJim Meyering <jim@meyering.net>
Tue, 31 Oct 2000 08:12:28 +0000 (08:12 +0000)
tests/cp/cp-parents

index bab9c4fbfb0c0fb282d5737c5fe52206fbb49ede..de14ff914c9191abb0d954ad2d92288b5bc5616d 100755 (executable)
@@ -7,6 +7,8 @@ if test "$VERBOSE" = yes; then
   mv --version
 fi
 
+umask 022
+
 pwd=`pwd`
 tmp=cp-parents.$$
 trap 'status=$?; cd $pwd; exec 1>&2; rm -rf $tmp && exit $status' 0
@@ -18,7 +20,7 @@ framework_failure=0
 mkdir $tmp || framework_failure=1
 cd $tmp || framework_failure=1
 mkdir foo bar || framework_failure=1
-mkdir -p a/b/c d || framework_failure=1
+mkdir -p a/b/c d || framework_failure=1
 
 if test $framework_failure = 1; then
   echo 'failure in testing framework'
@@ -36,6 +38,11 @@ cp -R --parents foo/ bar || fail=1
 cp --verbose -a --parents a/b/c d > /dev/null 2>&1 || fail=1
 test -d d/a/b/c || fail=1
 
-# FIXME: add tests to check that re_protect works
+# Check that re_protect works.
+chmod go=w d/a
+cp -a --parents d/a/b/c e || fail=1
+set _ `ls -ld e/d`;       shift; case $1 in drwxr-xr-x);; *) fail=1;; esac
+set _ `ls -ld e/d/a`;     shift; case $1 in drwx-w--w-);; *) fail=1;; esac
+set _ `ls -ld e/d/a/b/c`; shift; case $1 in drwxr-xr-x);; *) fail=1;; esac
 
 (exit $fail); exit