From: Simon Josefsson Date: Mon, 11 Apr 2011 12:30:01 +0000 (+0200) Subject: Use valgrind for self checks. X-Git-Tag: v1.5.1~9 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c634fadc62d82f898a1994de323aad50effc7d61;p=yubikey-personalization Use valgrind for self checks. --- diff --git a/.gitignore b/.gitignore index 4e5bdfe..e8ca3e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ Makefile.in configure build-aux -m4 autom4te.cache aclocal.m4 INSTALL diff --git a/configure.ac b/configure.ac index c9d02cd..4e82911 100644 --- a/configure.ac +++ b/configure.ac @@ -121,6 +121,7 @@ AM_CONDITIONAL([BACKEND_OSX], test x$with_backend = xosx) AM_CONDITIONAL([BACKEND_WINDOWS], test x$with_backend = xwindows) gl_LD_VERSION_SCRIPT +gl_VALGRIND_TESTS AC_CONFIG_FILES([ Makefile diff --git a/m4/valgrind-tests.m4 b/m4/valgrind-tests.m4 new file mode 100644 index 0000000..ab9e25a --- /dev/null +++ b/m4/valgrind-tests.m4 @@ -0,0 +1,34 @@ +# valgrind-tests.m4 serial 2 +dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Simon Josefsson + +# gl_VALGRIND_TESTS() +# ------------------- +# Check if valgrind is available, and set VALGRIND to it if available. +AC_DEFUN([gl_VALGRIND_TESTS], +[ + AC_ARG_ENABLE(valgrind-tests, + AS_HELP_STRING([--enable-valgrind-tests], + [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 + + if test -n "$VALGRIND" && $VALGRIND -q true > /dev/null 2>&1; then + opt_valgrind_tests=yes + VALGRIND="$VALGRIND -q --error-exitcode=1 --leak-check=full" + else + opt_valgrind_tests=no + VALGRIND= + fi + + AC_MSG_CHECKING([whether self tests are run under valgrind]) + AC_MSG_RESULT($opt_valgrind_tests) +]) diff --git a/tests/Makefile.am b/tests/Makefile.am index c16ebb9..29dd782 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -39,3 +39,5 @@ TESTS = $(ctests) test_args_to_config_LDADD = ../ykpersonalize.o $(LDADD) $(ykpersonalize_LDADD) test_args_to_config_LDFLAGS = -z muldefs + +TESTS_ENVIRONMENT = $(VALGRIND)