From: Pádraig Brady
Date: Wed, 14 Oct 2015 14:18:34 +0000 (+0100) Subject: tests: avoid false failures with default ACLs X-Git-Tag: v8.25~127 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f9fb9acb0da91b40a2ba1a0bb93b4c3c72ed7aa6;p=thirdparty%2Fcoreutils.git tests: avoid false failures with default ACLs To reproduce: setfacl -dm group::rx . setfacl -dm other::rx . make check * init.cfg (require_no_default_acl_): A new function to skip when default ACLs are detected, or if the getfacl utility is not available then skip if any non LSM ACLs detected. * tests/cp/existing-perm-race.sh: Call require_no_default_acl_. * tests/mkdir/parents.sh: Likewise. * tests/mkdir/perm.sh: Likewise. --- diff --git a/init.cfg b/init.cfg index f71f94c7a7..d6c0dcce51 100644 --- a/init.cfg +++ b/init.cfg @@ -60,6 +60,15 @@ getlimits_() test "$INT_MAX" || fatal_ "running getlimits" } +require_no_default_acl_() +{ + if getfacl --version < /dev/null > /dev/null 2>&1; then + getfacl "$1" | grep '^default:' && skip_ 'Default ACL detected' + else + ls -ld "$1" | grep '.........+' && skip_ 'ACL detected' + fi +} + require_acl_() { getfacl --version < /dev/null > /dev/null 2>&1 \ diff --git a/tests/cp/existing-perm-race.sh b/tests/cp/existing-perm-race.sh index f48369cd50..318986639b 100755 --- a/tests/cp/existing-perm-race.sh +++ b/tests/cp/existing-perm-race.sh @@ -24,6 +24,8 @@ require_membership_in_two_groups_ # cp -p gives ENOTSUP on NFS on Linux 2.6.9 at least require_local_dir_ +require_no_default_acl_ . + set _ $groups; shift g1=$1 g2=$2 diff --git a/tests/mkdir/parents.sh b/tests/mkdir/parents.sh index ebdb527139..53eab8b36f 100755 --- a/tests/mkdir/parents.sh +++ b/tests/mkdir/parents.sh @@ -19,6 +19,7 @@ . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir skip_if_setgid_ +require_no_default_acl_ . mkdir -m 700 e-dir || framework_failure_ diff --git a/tests/mkdir/perm.sh b/tests/mkdir/perm.sh index ff0a57dcef..d7d2efcef7 100755 --- a/tests/mkdir/perm.sh +++ b/tests/mkdir/perm.sh @@ -20,6 +20,7 @@ . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src print_ver_ mkdir skip_if_setgid_ +require_no_default_acl_ . working_umask_or_skip_