X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=run-tests.sh;h=a01d47c1922df9481ecb7213405593b8956776d5;hb=b7e682520c10f18efdd50901896291b7a74a72fc;hp=a5f7692b7e28e5d4d70a01a06235e48f3c4c6d10;hpb=bcb9e71a21f1ba364ca9a2c203de46640a2a7e8d;p=apply-default-acl.git diff --git a/run-tests.sh b/run-tests.sh index a5f7692..a01d47c 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -1,28 +1,25 @@ #!/bin/bash -# Our exit code. -RESULT=0 - # 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" - rm -f "${TESTDIR}"/* + rm -rf "${TESTDIR}"/* } compare() { if [[ "${ACTUAL}" == "${EXPECTED}" ]]; then - echo "Success." + echo "Success (#${TESTNUM})" acl_reset else - echo "Failure." + echo "Failure (#${TESTNUM})" echo "Expected result:" echo "${EXPECTED}" echo "Actual result:" echo "${ACTUAL}" - RESULT=1 + exit 1 fi } @@ -33,6 +30,7 @@ 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 setfacl -d -m user::r-- "${TESTDIR}" setfacl -d -m group::r-- "${TESTDIR}" @@ -53,6 +51,7 @@ ACTUAL=`getfacl --omit-header "${TARGET}"` compare # Do the same thing as the last test, except with an extended ACL. +TESTNUM=2 setfacl -d -m user::r-- "${TESTDIR}" setfacl -d -m group::r-- "${TESTDIR}" setfacl -d -m other::r-- "${TESTDIR}" @@ -74,11 +73,12 @@ EOF ACTUAL=`getfacl --omit-header "${TARGET}"` compare -# A directory shared by a group, should still be group-writable +# A file shared by a group, should still be group-writable # afterwards. -setfacl -d -m group:mail:rwx "${TESTDIR}" +TESTNUM=3 touch "${TARGET}" chmod 644 "${TARGET}" +setfacl -d -m group:mail:rwx "${TESTDIR}" ./aclq "${TARGET}" EXPECTED=$(cat <