[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] avoid spurious test failure when library is built without ACL su
From: |
Jim Meyering |
Subject: |
[PATCH] avoid spurious test failure when library is built without ACL support |
Date: |
Mon, 15 Sep 2008 14:39:49 +0200 |
When compiling without sys/acl.h or any of various other conditions
that inhibit use of ACL support, these two tests would fail:
(for the record, this happened on Fedora 9 for me, but that's not
really pertinent)
FAIL: test-file-has-acl.sh.log
FAIL: test-copy-acl.sh.log
That's because the acl code would be compiled with
#define USE_ACL 0
My fix is simply to skip the two tests.
However, informing the test code about the USE_ACL=0 setting
(available in config.h) is tricky, since the test cannot easily
know in which directory the package choose to put config.h.
In other acl-related tests in coreutils proper,
I do something like this:
grep '^#define USE_ACL 0' $CONFIG_HEADER > /dev/null &&
{
echo "Skipping test: insufficient ACL support"
exit 77
}
but to do that, I had to hard-code the knowledge (coreutils-specific)
that config.h is in lib/ via this:
TESTS_ENVIRONMENT = \
...
CONFIG_HEADER='$(abs_top_builddir)/lib/config.h' \
However, a cleaner solution is to AC_SUBST a shell variable
(I chose that same name), USE_ACL, and push it through make
to the scripts that use it:
Bruno, I think you wrote the test, so I'll wait to hear from you
before pushing.
>From 07303f6f2d9c519b521709ac4f4359936a91d199 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Mon, 15 Sep 2008 14:37:49 +0200
Subject: [PATCH] avoid spurious test failure when library is built without ACL
support
* m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
* modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
* tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
* tests/test-copy-acl.sh: Likewise.
---
ChangeLog | 8 ++++++++
m4/acl.m4 | 2 ++
modules/acl-tests | 2 +-
tests/test-copy-acl.sh | 6 ++++++
tests/test-file-has-acl.sh | 6 ++++++
5 files changed, 23 insertions(+), 1 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 6817f88..98417ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-09-15 Jim Meyering <address@hidden>
+
+ avoid spurious test failure when library is built without ACL support
+ * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
+ * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
+ * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
+ * tests/test-copy-acl.sh: Likewise.
+
2008-09-15 Bruno Haible <address@hidden>
* doc/posix-headers/errno.texi: Mention the Cygwin problem.
diff --git a/m4/acl.m4 b/m4/acl.m4
index 494ce4b..08342d0 100644
--- a/m4/acl.m4
+++ b/m4/acl.m4
@@ -121,6 +121,8 @@ int type = ACL_TYPE_EXTENDED;]],
AC_SUBST([LIB_ACL])
AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl],
[Define to nonzero if you want access control list support.])
+ USE_ACL=$use_acl
+ AC_SUBST([USE_ACL])
])
# gl_ACL_GET_FILE(IF-WORKS, IF-NOT)
diff --git a/modules/acl-tests b/modules/acl-tests
index 04e004c..0aacd41 100644
--- a/modules/acl-tests
+++ b/modules/acl-tests
@@ -17,7 +17,7 @@ configure.ac:
Makefile.am:
TESTS += test-file-has-acl.sh test-set-mode-acl.sh test-copy-acl.sh
-TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@'
+TESTS_ENVIRONMENT += EXEEXT='@EXEEXT@' USE_ACL=$(USE_ACL)
check_PROGRAMS += test-file-has-acl test-set-mode-acl test-copy-acl
test-sameacls
test_file_has_acl_LDADD = $(LDADD) $(LIB_ACL)
test_set_mode_acl_LDADD = $(LDADD) $(LIB_ACL) @LIBINTL@
diff --git a/tests/test-copy-acl.sh b/tests/test-copy-acl.sh
index 6d59702..9e20e77 100755
--- a/tests/test-copy-acl.sh
+++ b/tests/test-copy-acl.sh
@@ -3,6 +3,12 @@
# Show all commands when run with environment variable VERBOSE=yes.
test -z "$VERBOSE" || set -x
+test "$USE_ACL" = 0 &&
+ {
+ echo "Skipping test: insufficient ACL support"
+ exit 77
+ }
+
# func_tmpdir
# creates a temporary directory.
# Sets variable
diff --git a/tests/test-file-has-acl.sh b/tests/test-file-has-acl.sh
index e2dbe9d..9783960 100755
--- a/tests/test-file-has-acl.sh
+++ b/tests/test-file-has-acl.sh
@@ -3,6 +3,12 @@
# Show all commands when run with environment variable VERBOSE=yes.
test -z "$VERBOSE" || set -x
+test "$USE_ACL" = 0 &&
+ {
+ echo "Skipping test: insufficient ACL support"
+ exit 77
+ }
+
# func_tmpdir
# creates a temporary directory.
# Sets variable
--
1.6.0.2.229.g1293c
- [PATCH] avoid spurious test failure when library is built without ACL support,
Jim Meyering <=