Browse Source

GNU tar 1.13

Paul Eggert 28 years ago
parent
commit
1e809b7276
1 changed files with 63 additions and 0 deletions
  1. 63 0
      tests/ignfail.sh

+ 63 - 0
tests/ignfail.sh

@@ -0,0 +1,63 @@
+#! /bin/sh
+# Unreadable directories yielded error despite --ignore-failed-read.
+
+. ./preset
+. $srcdir/before
+
+> check-uid
+set - x`ls -l check-uid`
+if test $3 = root; then
+
+  # The test is meaningless for super-user.
+  rm check-uid
+
+else
+
+   touch file
+   mkdir directory
+   touch directory/file
+
+   echo 1>&2 -----
+   chmod 000 file
+   tar cf archive file
+   status=$?
+   chmod 600 file
+   test $status = 2 || exit 1
+
+   echo 1>&2 -----
+   chmod 000 file
+   tar cf archive --ignore-failed-read file || exit 1
+   status=$?
+   chmod 600 file
+   test $status = 0 || exit 1
+
+   echo 1>&2 -----
+   chmod 000 directory
+   tar cf archive directory
+   status=$?
+   chmod 700 directory
+   test $status = 2 || exit 1
+
+   echo 1>&2 -----
+   chmod 000 directory
+   tar cf archive --ignore-failed-read directory || exit 1
+   status=$?
+   chmod 700 directory
+   test $status = 0 || exit 1
+
+   err="\
+-----
+tar: Cannot add file file: Permission denied
+tar: Error exit delayed from previous errors
+-----
+tar: Cannot add file file: Permission denied
+-----
+tar: Cannot add directory directory: Permission denied
+tar: Error exit delayed from previous errors
+-----
+tar: Cannot add directory directory: Permission denied
+"
+
+fi
+
+. $srcdir/after