X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=run-tests.sh;h=31c9f30ab94ec7f6ceae1908649c6787252e59e9;hb=23c4e6b7963baac70b8aa12bb92dd830518bed94;hp=7f6838f66d5e7d1036aa73098cd4b30ba7cb8c31;hpb=4e313c0b2ad1c2464ce0394b32e70abd5380d48e;p=apply-default-acl.git diff --git a/run-tests.sh b/run-tests.sh index 7f6838f..31c9f30 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -1,7 +1,7 @@ #!/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 @@ -9,19 +9,20 @@ TESTDIR=test acl_reset() { # Remove any ACLs on our test directory and remove its contents. setfacl --remove-all --recursive "$TESTDIR" - rm "${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 } @@ -32,15 +33,243 @@ 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}" +setfacl -d -m other::r-- "${TESTDIR}" +touch "${TARGET}" +chmod 777 "${TARGET}" +$BIN "${TARGET}" + +EXPECTED=$(cat <