summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/mv/Makefile.am2
-rwxr-xr-xtests/mv/acl24
2 files changed, 22 insertions, 4 deletions
diff --git a/tests/mv/Makefile.am b/tests/mv/Makefile.am
index 57581cd88..0a1f2db2e 100644
--- a/tests/mv/Makefile.am
+++ b/tests/mv/Makefile.am
@@ -20,7 +20,6 @@
AUTOMAKE_OPTIONS = 1.3 gnits
-XFAIL_TESTS = acl
TESTS = \
hard-verbose \
backup-dir \
@@ -48,4 +47,5 @@ TESTS_ENVIRONMENT = \
PERL="$(PERL)" \
EGREP="$(EGREP)" \
PATH="$(VG_PATH_PREFIX)`pwd`/../../src$(PATH_SEPARATOR)$$PATH" \
+ CONFIG_HEADER=$(CONFIG_HEADER) \
PROG=mv
diff --git a/tests/mv/acl b/tests/mv/acl
index f570656fa..df3bb012d 100755
--- a/tests/mv/acl
+++ b/tests/mv/acl
@@ -24,6 +24,13 @@
# Make sure we get English translations.
. $srcdir/../lang-default
+# Skip this test if cp was built without ACL support:
+grep '^#define USE_ACL 0' $CONFIG_HEADER > /dev/null && \
+ {
+ echo 1>&2 "$0: insufficient ACL support, so skipping this test"
+ (exit 77); exit 77
+ }
+
if test "$VERBOSE" = yes; then
set -x
mv --version
@@ -46,15 +53,26 @@ framework_failure=0
mkdir -p $tmp || framework_failure=1
cd $tmp || framework_failure=1
+touch file || framework_failure=1
+
if test $framework_failure = 1; then
echo 'failure in testing framework'
(exit 1); exit 1
fi
+skip=no
+# Ensure that setfacl and getfacl work on this file system.
+setfacl -m user:bin:rw file 2> /dev/null || skip=yes
+acl1=`getfacl file` || skip=yes
+
+test $skip = yes &&
+ {
+ echo "$0: '.' is not on a suitable file system for this test" 1>&2
+ echo "$0: skipping this test" 1>&2
+ (exit 77); exit 77
+ }
+
# move the access acl of a file
-touch file || framework_failure=1
-setfacl -m user:bin:rw file || framework_failure=1
-acl1=`getfacl file` || framework_failure=1
mv file $other_partition_tmpdir || fail=1
acl2=`cd $other_partition_tmpdir && getfacl file` || framework_failure=1
test "$acl1" = "$acl2" || fail=1