]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
*** empty log message ***
authorJim Meyering <jim@meyering.net>
Sun, 13 Aug 2000 13:03:41 +0000 (13:03 +0000)
committerJim Meyering <jim@meyering.net>
Sun, 13 Aug 2000 13:03:41 +0000 (13:03 +0000)
tests/cp/perm

index 4bc3cddbcd0146ebef61d5370a0a51b6f52ab104..44a839f222783e215fba897046a2ad56bf9c661d 100755 (executable)
@@ -29,33 +29,47 @@ fail=0
 
 # Now, try it with `mv', with combinations of --force, no-f and
 # existing-destination and not.
-for cmd in mv 'cp -p' cp; do
-  for force in '' -f; do
-    for existing_dest in yes no; do
-      for g_perm in r w x rw wx xr rwx; do
-       for o_perm in r w x rw wx xr rwx; do
-         touch src || exit 1
-         chmod u=r,go= src || exit 1
-         rm -f dest
-         test $existing_dest = yes && {
-           touch dest || exit 1
-           chmod u=rw,g=$g_perm,o=$o_perm dest || exit 1
-           }
-         $cmd $force src dest || exit 1
-         test "$cmd" = mv && test -f src && exit 1
-         test "$cmd" = cp && { test -f src || exit 1; }
-         set X `ls -l dest`
-         shift
-         case "$cmd:$force:$existing_dest" in
-           cp::yes)
-             _g_perm=`echo rwx|sed 's/[^'$g_perm']/-/g'`
-             _o_perm=`echo rwx|sed 's/[^'$o_perm']/-/g'`
-             expected_perms=-rw-$_g_perm$_o_perm;;
-           *) expected_perms=-r--------;;
-         esac
-         test x$1 = x$expected_perms || exit 1
-         # Perform only one iteration when there's no existing destination.
-         test $existing_dest = no && break 3
+for u in 31 37 2; do
+  echo umask: $u
+  umask $u
+  for cmd in mv 'cp -p' cp; do
+    for force in '' -f; do
+      for existing_dest in yes no; do
+       for g_perm in r w x rw wx xr rwx; do
+         for o_perm in r w x rw wx xr rwx; do
+           touch src || exit 1
+           chmod u=r,g=rx,o= src || exit 1
+           set X `ls -l src`
+           shift
+           expected_perms=$1
+           rm -f dest
+           test $existing_dest = yes && {
+             touch dest || exit 1
+             chmod u=rw,g=$g_perm,o=$o_perm dest || exit 1
+             }
+           $cmd $force src dest || exit 1
+           test "$cmd" = mv && test -f src && exit 1
+           test "$cmd" = cp && { test -f src || exit 1; }
+           set X `ls -l dest`
+           shift
+
+           case "$cmd:$force:$existing_dest" in
+             cp::yes)
+               _g_perm=`echo rwx|sed 's/[^'$g_perm']/-/g'`
+               _o_perm=`echo rwx|sed 's/[^'$o_perm']/-/g'`
+               expected_perms=-rw-$_g_perm$_o_perm
+               ;;
+             cp::no|cp:-f:*)
+               test $u = 37 &&
+                 expected_perms=`echo $expected_perms|sed 's/.....$/-----/'`
+               test $u = 31 &&
+                 expected_perms=`echo $expected_perms|sed 's/..\(..\).$/--\1-/'`
+               ;;
+           esac
+           test x$1 = x$expected_perms || exit 1
+           # Perform only one iteration when there's no existing destination.
+           test $existing_dest = no && break 3
+         done
        done
       done
     done