X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=run-tests.sh;h=37414302865f93d99f661fab70b29c7a26ca08e2;hb=45d4e8bba034c22c317fbd20c629589e35d97683;hp=e4ca3766721bdb58ff661aa246c3ff0915bc2523;hpb=7ce092ba47607098bb57695396357b8eab90e81b;p=apply-default-acl.git diff --git a/run-tests.sh b/run-tests.sh index e4ca376..3741430 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -672,14 +672,12 @@ compare # 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 @@ -690,7 +688,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 @@ -798,3 +795,74 @@ other::r-- EOF ) compare + + +# Test that our exit code succeeds on a single, normal path. +TESTNUM=33 +TARGET="${TESTDIR}/foo" +touch "${TARGET}" +setfacl --default --modify user:${USERS[0]}:rw "${TESTDIR}" +"${BIN}" "${TARGET}" +ACTUAL="$?" +EXPECTED="0" +compare + + +# Test that our exit code fails on a symlink. +TESTNUM=34 +TARGET="${TESTDIR}/bar" +touch "${TESTDIR}/foo" +ln -s foo "${TARGET}" +setfacl --default --modify user:${USERS[0]}:rw "${TESTDIR}" +"${BIN}" "${TARGET}" +ACTUAL="$?" +EXPECTED="1" +compare + + +# The previous test should "succeed" if we use --recursive. This is +# buggy, but it's documented. +TESTNUM=35 +TARGET="${TESTDIR}/bar" +touch "${TESTDIR}/foo" +ln -s foo "${TARGET}" +setfacl --default --modify user:${USERS[0]}:rw "${TESTDIR}" +"${BIN}" --recursive "${TARGET}" +ACTUAL="$?" +EXPECTED="0" +compare + + +# Test the return value for nonexistent paths. +TESTNUM=36 +TARGET="${TESTDIR}/foo" +"${BIN}" "${TARGET}" &>/dev/null +ACTUAL="$?" +EXPECTED="1" +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" +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