X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=run-tests.sh;h=b20ec79c9b2259b34f18722edee522c5e9f76c38;hb=808a5478e56d2b5f7824cd6d2d1604841ba5cdba;hp=75414cab82878d2209d1d6214bdd99386673a0d2;hpb=60f8c02626369db69769474307a95caf61ec3d81;p=apply-default-acl.git diff --git a/run-tests.sh b/run-tests.sh index 75414ca..b20ec79 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -1,28 +1,33 @@ #!/bin/bash -# Our exit code. -RESULT=0 +# The program name. +BIN=./src/apply-default-acl # The directory where we'll do all the ACL manipulation. TESTDIR=test acl_reset() { # Remove any ACLs on our test directory and remove its contents. - setfacl --remove-all --recursive "$TESTDIR" + setfacl --remove-all --recursive "${TESTDIR}" + chmod 755 "${TESTDIR}" rm -rf "${TESTDIR}"/* } compare() { if [[ "${ACTUAL}" == "${EXPECTED}" ]]; then - echo "Success." + echo "Success (#${TESTNUM})" acl_reset else - echo "Failure." - echo "Expected result:" + echo "Failure (#${TESTNUM})" + echo 'Expected result:' + echo '================' echo "${EXPECTED}" - echo "Actual result:" + echo '================' + echo 'Actual result:' + echo '================' echo "${ACTUAL}" - RESULT=1 + echo '================' + exit 1 fi } @@ -33,13 +38,14 @@ mkdir "${TESTDIR}" # When using a minimal ACL, the default user, group, and other # permissions should all be propagated to the mode bits. +TESTNUM=1 TARGET="${TESTDIR}"/foo +touch "${TARGET}" +chmod 777 "${TARGET}" setfacl -d -m user::r-- "${TESTDIR}" setfacl -d -m group::r-- "${TESTDIR}" setfacl -d -m other::r-- "${TESTDIR}" -touch "${TARGET}" -chmod 777 "${TARGET}" -./aclq "${TARGET}" +$BIN "${TARGET}" EXPECTED=$(cat <