summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-08-05 11:45:10 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-08-05 11:45:42 -0700
commit124b93cd248fa2b93705a311f326a5436f8cc55f (patch)
tree19394a6dba3b00aac576c3a598aa7d280d56798b
parent9cfe2a3983e5eb92aa9bd2c033cd3f1579a9c225 (diff)
downloadgnulib-124b93cd248fa2b93705a311f326a5436f8cc55f.tar.gz
valgrind-tests: use ls, and cache
* m4/valgrind-tests.m4: Test ls, not bash. Problem reported by Reuben Thomas. Also, cache the result so that it can be overridden.
-rw-r--r--ChangeLog7
-rw-r--r--m4/valgrind-tests.m430
2 files changed, 22 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index caab63ee05..74e9831fb2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-08-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ valgrind-tests: use ls, and cache
+ * m4/valgrind-tests.m4: Test ls, not bash.
+ Problem reported by Reuben Thomas.
+ Also, cache the result so that it can be overridden.
+
2017-08-04 Paul Eggert <eggert@cs.ucla.edu>
manywarnings: port to 64-bit GCC builds of Emacs
diff --git a/m4/valgrind-tests.m4 b/m4/valgrind-tests.m4
index 00189d8bcc..7e4bf60bd9 100644
--- a/m4/valgrind-tests.m4
+++ b/m4/valgrind-tests.m4
@@ -1,4 +1,4 @@
-# valgrind-tests.m4 serial 3
+# valgrind-tests.m4 serial 4
dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -11,27 +11,27 @@ dnl From Simon Josefsson
# Check if valgrind is available, and set VALGRIND to it if available.
AC_DEFUN([gl_VALGRIND_TESTS],
[
- AC_ARG_ENABLE(valgrind-tests,
+ AC_ARG_ENABLE([valgrind-tests],
AS_HELP_STRING([--disable-valgrind-tests],
[don't try to run self tests under valgrind]),
[opt_valgrind_tests=$enableval], [opt_valgrind_tests=yes])
# Run self-tests under valgrind?
if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then
- AC_CHECK_PROGS(VALGRIND, valgrind)
- fi
+ AC_CHECK_PROGS([VALGRIND], [valgrind])
- OPTS="-q --error-exitcode=1 --leak-check=full"
+ if test "$VALGRIND"; then
+ AC_CACHE_CHECK([for valgrind options for tests],
+ [gl_cv_opt_valgrind_tests],
+ [gl_cv_opt_valgrind_tests="-q --error-exitcode=1 --leak-check=full"
+ $VALGRIND $gl_valgrind_opts ls > /dev/null 2>&1 ||
+ gl_cv_opt_valgrind_tests=no])
- if test -n "$VALGRIND" \
- && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then
- opt_valgrind_tests=yes
- VALGRIND="$VALGRIND $OPTS"
- else
- opt_valgrind_tests=no
- VALGRIND=
+ if test "$gl_cv_opt_valgrind_tests" != no; then
+ VALGRIND="$VALGRIND $gl_cv_opt_valgrind_tests"
+ else
+ VALGRIND=
+ fi
+ fi
fi
-
- AC_MSG_CHECKING([whether self tests are run under valgrind])
- AC_MSG_RESULT($opt_valgrind_tests)
])