X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=run-tests.sh;h=e4ca3766721bdb58ff661aa246c3ff0915bc2523;hb=d806ef795948c87e614cb2a4cfb80ec96a07d256;hp=5f11c688f5163d1cb379d8947a38a1397779cf9f;hpb=ef2420c59077d26e659e091e21731f282564a498;p=apply-default-acl.git diff --git a/run-tests.sh b/run-tests.sh index 5f11c68..e4ca376 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -32,7 +32,7 @@ for idx in $( seq 0 $((${#USERS[@]} - 1)) ); do done # The program name. -BIN=src/apply-default-acl +BIN=$(realpath src/apply-default-acl) # The directory where we'll do all the ACL manipulation. TESTDIR=test @@ -671,14 +671,16 @@ 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" +ACTUAL=$( "${BIN}" test/nonexistent 2>&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 ) -EXPECTED="${BIN}: test/nonexistent: no such file or directory" +ACTUAL=$( "${BIN}" --recursive test/nonexistent 2>&1 ) +ACTUAL="${ACTUAL#*: }" +EXPECTED="test/nonexistent: No such file or directory" compare # If we call apply-default-acl on more than one file, it should report any @@ -687,6 +689,112 @@ 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" +ACTUAL=$( "${BIN}" "${DUMMY1}" test/nonexistent "${DUMMY2}" 2>&1 ) +ACTUAL="${ACTUAL#*: }" +EXPECTED="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 < /dev/null +"${BIN}" bar +popd > /dev/null +ACTUAL=$( getfacl --omit-header "${TARGET}" ) +EXPECTED=$(cat <