X-Git-Url: http://gitweb.michael.orlitzky.com/?p=apply-default-acl.git;a=blobdiff_plain;f=run-tests.sh;h=07ad496584faa680cde5992e2fde03dee698e628;hp=86b22c24e1908b930fec54b3744cadeb0e9cdda9;hb=f9e643a6aaf9d03fd6c36eb0ad953f2563a7c017;hpb=a946bc0f04a82a5d9faa44bbc79c4df440d9ce8a diff --git a/run-tests.sh b/run-tests.sh index 86b22c2..07ad496 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 @@ -86,7 +86,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare # Do the same thing as the last test, except with an extended ACL. @@ -109,7 +109,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -131,7 +131,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -157,7 +157,7 @@ default:other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -176,7 +176,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -200,7 +200,7 @@ other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -231,7 +231,7 @@ other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -254,7 +254,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -274,7 +274,7 @@ other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -299,7 +299,7 @@ other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -323,7 +323,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -348,7 +348,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"/bar/quux` +ACTUAL=$(getfacl --omit-header "${TARGET}"/bar/quux) compare @@ -377,7 +377,7 @@ default:other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"/bar` +ACTUAL=$(getfacl --omit-header "${TARGET}"/bar) compare @@ -407,7 +407,7 @@ default:other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -437,7 +437,7 @@ default:other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -461,7 +461,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -483,7 +483,7 @@ other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -505,7 +505,7 @@ other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -527,7 +527,7 @@ other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -554,7 +554,7 @@ other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -580,7 +580,7 @@ other::r-x EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -608,7 +608,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -636,7 +636,7 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +ACTUAL=$(getfacl --omit-header "${TARGET}") compare @@ -664,5 +664,205 @@ other::r-- EOF ) -ACTUAL=`getfacl --omit-header "${TARGET}"` +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 ) +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 + +# 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 ) +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 </dev/null +ACTUAL="$?" +EXPECTED="1" +compare + + +# Test that one "failure" exit code overrides two "successes" +TESTNUM=37 +mkdir "${TESTDIR}/foo" +ln -s foo "${TESTDIR}/bar" +mkdir "${TESTDIR}/baz" +"${BIN}" "${TESTDIR}/foo" "${TESTDIR}/bar" "${TESTDIR}/baz" +ACTUAL="$?" +EXPECTED="1" +compare + + +# And test the buggy behavior again; the previous test should return +# success (ignoring the failure) when --recursive is used. +TESTNUM=38 +mkdir "${TESTDIR}/foo" +ln -s foo "${TESTDIR}/bar" +mkdir "${TESTDIR}/baz" +"${BIN}" --recursive "${TESTDIR}" +ACTUAL="$?" +EXPECTED="0" compare