]> Savannah Git Hosting - gnulib.git/commitdiff
valgrind-tests: use ls, and cache
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 5 Aug 2017 18:45:10 +0000 (11:45 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 5 Aug 2017 18:45:42 +0000 (11:45 -0700)
* m4/valgrind-tests.m4: Test ls, not bash.
Problem reported by Reuben Thomas.
Also, cache the result so that it can be overridden.

ChangeLog
m4/valgrind-tests.m4

index caab63ee05c9fa1609c8aae206328c0a26974c74..74e9831fb20e38ea312cfce5f49275f546155f07 100644 (file)
--- 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
index 00189d8bcc86df71864738693605b6ee211f16eb..7e4bf60bd9a06ad944545ebd09941c4fd52a53b0 100644 (file)
@@ -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)
 ])