coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] tests: avoid false failures with default ACLs


From: Pádraig Brady
Subject: [PATCH] tests: avoid false failures with default ACLs
Date: Wed, 14 Oct 2015 15:27:49 +0100

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.
---
 init.cfg                       | 9 +++++++++
 tests/cp/existing-perm-race.sh | 2 ++
 tests/mkdir/parents.sh         | 1 +
 tests/mkdir/perm.sh            | 1 +
 4 files changed, 13 insertions(+)

diff --git a/init.cfg b/init.cfg
index f71f94c..d6c0dcc 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 f48369c..3189866 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 ebdb527..53eab8b 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 ff0a57d..d7d2efc 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_
 
-- 
2.5.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]