X-Git-Url: https://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=run-tests.sh;h=86b22c24e1908b930fec54b3744cadeb0e9cdda9;hb=a946bc0f04a82a5d9faa44bbc79c4df440d9ce8a;hp=4cfea29007c13e091d0abd7af82b70b93f17f0d9;hpb=0c390cb042843e8091cbff0d82538a64e17a7d9f;p=apply-default-acl.git diff --git a/run-tests.sh b/run-tests.sh index 4cfea29..86b22c2 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -4,6 +4,8 @@ # Exit codes # +EXIT_SUCCESS=0 + # Exit with this when a test fails. EXIT_FAILURE=1 @@ -21,7 +23,12 @@ USERS=( bin daemon ) # Check to see if the above users exist. If not, bail. for idx in $( seq 0 $((${#USERS[@]} - 1)) ); do - id ${USERS[idx]} >/dev/null 2>&1 || exit $EXIT_MISSING_USERS + id "${USERS[idx]}" >/dev/null 2>&1 + + if [ $? -ne $EXIT_SUCCESS ]; then + echo "Error: missing test user ${USERS[idx]}." 1>&2 + exit $EXIT_MISSING_USERS + fi done # The program name. @@ -576,3 +583,86 @@ EOF ACTUAL=`getfacl --omit-header "${TARGET}"` compare + +# Make sure a mask with an execute bit doesn't count as being +# executable. +# +TESTNUM=22 +TARGET="${TESTDIR}"/foo +touch "${TARGET}" +chmod 644 "${TARGET}" +setfacl -m user::rw "${TARGET}" +setfacl -m group::rw "${TARGET}" +# Even though the mask has an 'x' bit, nobody can execute it. +setfacl -m mask::rwx "${TARGET}" +setfacl -d -m user::rwx "${TESTDIR}" +setfacl -d -m group::rwx "${TESTDIR}" +$BIN "${TARGET}" + + +EXPECTED=$(cat <