]> gitweb.michael.orlitzky.com - apply-default-acl.git/blobdiff - run-tests.sh
Fix symlink handling and update to version 0.0.6.
[apply-default-acl.git] / run-tests.sh
index 433f23c40d39a780f77b7c9f8ba430fbdc301f45..a76b0e993578222bbec89edae5ea4fe0e104ab9a 100755 (executable)
@@ -666,3 +666,46 @@ EOF
 
 ACTUAL=$(getfacl --omit-header "${TARGET}")
 compare
+
+
+# If we call apply-default-acl on a single file that does not exist,
+# we get the expected error.
+TESTNUM=25
+ACTUAL=$( ${BIN} test/nonexistent 2>&1 )
+EXPECTED="${BIN}: test/nonexistent: no such file or directory"
+compare
+
+# Same as the previous test, but with --recursive.
+TESTNUM=26
+ACTUAL=$( ${BIN} --recursive test/nonexistent 2>&1 )
+EXPECTED="${BIN}: test/nonexistent: no such file or directory"
+compare
+
+# If we call apply-default-acl on more than one file, it should report any
+# that don't exist (but proceed to operate on the others).
+TESTNUM=27
+DUMMY1="${TESTDIR}/dummy1"
+DUMMY2="${TESTDIR}/dummy2"
+touch "${DUMMY1}" "${DUMMY2}"
+ACTUAL=$( ${BIN} "${DUMMY1}" test/nonexistent "${DUMMY2}" 2>&1 )
+EXPECTED="${BIN}: test/nonexistent: no such file or directory"
+compare
+
+
+# Ensure that symlinks are not followed.
+TESTNUM=28
+TARGET="${TESTDIR}/foo"
+LINK2TARGET="${TESTDIR}/foo-sym"
+touch "${TARGET}"
+ln -s "${TARGET#${TESTDIR}/}" "${LINK2TARGET}"
+setfacl --default --modify user:${USERS[0]}:rwx "${TESTDIR}"
+"${BIN}" "${LINK2TARGET}"
+ACTUAL=$( getfacl --omit-header "${TARGET}" )
+EXPECTED=$(cat <<EOF
+user::rw-
+group::r--
+other::r--
+
+EOF
+)
+compare