X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=run-tests.sh;h=e077c7a46e141585487f9c13b4442f99c25c27d8;hb=fb29df3ea25b6f6a5bfdeaa8912997f73d2e4d14;hp=07ad496584faa680cde5992e2fde03dee698e628;hpb=20baeb9ea1419fd13ca1e76a33d1bb65a73f9e7e;p=apply-default-acl.git diff --git a/run-tests.sh b/run-tests.sh index 07ad496..e077c7a 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -219,7 +219,6 @@ setfacl -d -m user:${USERS[0]}:rwx "${TESTDIR}" setfacl -d -m user:${USERS[1]}:rwx "${TESTDIR}" $BIN "${TARGET}" - EXPECTED=$(cat <&1 ) -ACTUAL="${ACTUAL#*: }" EXPECTED="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 ) -ACTUAL="${ACTUAL#*: }" EXPECTED="test/nonexistent: No such file or directory" compare @@ -690,7 +686,6 @@ DUMMY1="${TESTDIR}/dummy1" DUMMY2="${TESTDIR}/dummy2" touch "${DUMMY1}" "${DUMMY2}" ACTUAL=$( "${BIN}" "${DUMMY1}" test/nonexistent "${DUMMY2}" 2>&1 ) -ACTUAL="${ACTUAL#*: }" EXPECTED="test/nonexistent: No such file or directory" compare @@ -846,10 +841,13 @@ compare # Test that one "failure" exit code overrides two "successes" +# We need a default ACL on ${TESTDIR} because otherwise we do +# nothing, successfully, on the symlink path. TESTNUM=37 mkdir "${TESTDIR}/foo" ln -s foo "${TESTDIR}/bar" mkdir "${TESTDIR}/baz" +setfacl --default --modify user:${USERS[0]}:rw "${TESTDIR}" "${BIN}" "${TESTDIR}/foo" "${TESTDIR}/bar" "${TESTDIR}/baz" ACTUAL="$?" EXPECTED="1" @@ -866,3 +864,38 @@ mkdir "${TESTDIR}/baz" ACTUAL="$?" EXPECTED="0" compare + + +# We should get "Not a directory" if we stick a trailing slash on the +# end of the path to a file. +TESTNUM=39 +TARGET="${TESTDIR}/foo" +touch "${TARGET}" +ACTUAL=$( "${BIN}" "${TARGET}/" 2>&1 ) +EXPECTED="${TARGET}/: Not a directory" +compare + + +# We should be a no-op on files contained in directories that have no +# default ACL. +TESTNUM=40 +TARGET="${TESTDIR}/foo" +touch "${TARGET}" +setfacl --modify user:${USERS[0]}:rw "${TARGET}" +EXPECTED=$( getfacl --omit-header "${TARGET}" ) +"${BIN}" "${TARGET}" +ACTUAL=$( getfacl --omit-header "${TARGET}" ) +compare + + +# We should be a no-op on directories contained in directories that +# have no default ACL (same as the previous test, but with a directory). +TESTNUM=41 +TARGET="${TESTDIR}/foo" +mkdir "${TARGET}" +setfacl --modify user:${USERS[0]}:rw "${TARGET}" +setfacl --default --modify user:${USERS[0]}:rw "${TARGET}" +EXPECTED=$( getfacl --omit-header "${TARGET}" ) +"${BIN}" --recursive "${TARGET}" +ACTUAL=$( getfacl --omit-header "${TARGET}" ) +compare