X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=run-tests.sh;h=2df25af45d1e5baecf6902aec5634a605a713a73;hb=b1f9447809f7c7b35f6f8f24b33b1cd2be2e30fc;hp=68b3b80907b125602ac8d468a373656a7ceec011;hpb=2713726701c897b449d06aca5d7dc22c0b43e653;p=apply-default-acl.git diff --git a/run-tests.sh b/run-tests.sh index 68b3b80..2df25af 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -818,8 +818,7 @@ EXPECTED="1" compare -# The previous test should "succeed" if we use --recursive. This is -# buggy, but it's documented. +# The previous test should fail, even if we use --recursive. TESTNUM=35 TARGET="${TESTDIR}/bar" touch "${TESTDIR}/foo" @@ -827,7 +826,7 @@ ln -s foo "${TARGET}" setfacl --default --modify user:${USERS[0]}:rw "${TESTDIR}" "${BIN}" --recursive "${TARGET}" ACTUAL="$?" -EXPECTED="0" +EXPECTED="1" compare @@ -854,13 +853,61 @@ EXPECTED="1" compare -# And test the buggy behavior again; the previous test should return -# success (ignoring the failure) when --recursive is used. +# The failure should prevail when using --recursive, too. TESTNUM=38 mkdir "${TESTDIR}/foo" ln -s foo "${TESTDIR}/bar" mkdir "${TESTDIR}/baz" "${BIN}" --recursive "${TESTDIR}" ACTUAL="$?" -EXPECTED="0" +EXPECTED="1" +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 + + +# Make sure we descend into subdirectories that don't have default ACLs. +TESTNUM=42 +TARGET="${TESTDIR}/foo/bar/baz" +mkdir -p $(dirname "${TARGET}") +touch "${TARGET}" +touch "${TARGET}-direct" +setfacl --default --modify user:${USERS[0]}:rw $(dirname "${TARGET}") +"${BIN}" "${TARGET}-direct" +EXPECTED=$( getfacl --omit-header "${TARGET}-direct" ) +"${BIN}" --recursive "${TESTDIR}" +ACTUAL=$( getfacl --omit-header "${TARGET}" ) compare