>From 59c181fa400ead71e9a28e3db9abc107f8fc9ea3 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 5 Aug 2017 11:45:10 -0700 Subject: [PATCH] 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. --- ChangeLog | 7 +++++++ m4/valgrind-tests.m4 | 30 +++++++++++++++--------------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index caab63e..74e9831 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2017-08-05 Paul Eggert + + 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 manywarnings: port to 64-bit GCC builds of Emacs diff --git a/m4/valgrind-tests.m4 b/m4/valgrind-tests.m4 index 00189d8..7e4bf60 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) ]) -- 2.7.4