From a93baace895603859119eabece9cf304d0ebb75d Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 24 Apr 2014 11:27:14 +1000 Subject: [PATCH] test: run all tests through valgrind Signed-off-by: Peter Hutterer Reviewed-by: Benjamin Tissoires --- configure.ac | 7 +++++-- test/Makefile.am | 17 +++++++++++++++++ test/valgrind.suppressions | 22 ++++++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 test/valgrind.suppressions diff --git a/configure.ac b/configure.ac index 1c57bf9..f63760d 100644 --- a/configure.ac +++ b/configure.ac @@ -68,9 +68,12 @@ AC_SUBST([GNU_LD_FLAGS], $with_ldflags) PKG_PROG_PKG_CONFIG() PKG_CHECK_MODULES(CHECK, [check >= 0.9.9], [HAVE_CHECK="yes"], [HAVE_CHECK="no"]) -if test "x$HAVE_CHECK" != "xyes"; then - AC_MSG_WARN([check not found - skipping building unit tests]) +if test "x$HAVE_CHECK" = "xyes"; then + AC_PATH_PROG(VALGRIND, [valgrind]) +else + AC_MSG_WARN([check not found - skipping building unit tests]) fi +AM_CONDITIONAL(HAVE_VALGRIND, [test "x$VALGRIND" != "x"]) AM_CONDITIONAL(BUILD_TESTS, [test "x$HAVE_CHECK" = "xyes"]) with_cflags="" diff --git a/test/Makefile.am b/test/Makefile.am index 9cf0726..e076d84 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -2,6 +2,8 @@ if BUILD_TESTS run_tests = test-libevdev test-kernel build_tests = test-compile-pedantic test-link +EXTRA_DIST = + .NOTPARALLEL: noinst_PROGRAMS = $(run_tests) $(build_tests) @@ -51,6 +53,21 @@ test_kernel_SOURCES = \ test_kernel_CFLAGS = -I$(top_srcdir) test_kernel_LDADD = $(CHECK_LIBS) +if HAVE_VALGRIND +VALGRIND_FLAGS=--leak-check=full \ + --quiet \ + --error-exitcode=3 \ + --suppressions=$(srcdir)/valgrind.suppressions + +valgrind: + $(MAKE) check-TESTS LOG_COMPILER="$(VALGRIND)" LOG_FLAGS="$(VALGRIND_FLAGS)" + +check: valgrind + +EXTRA_DIST += valgrind.suppressions +endif + + if GCOV_ENABLED CLEANFILES = gcov-report.txt diff --git a/test/valgrind.suppressions b/test/valgrind.suppressions new file mode 100644 index 0000000..07fae53 --- /dev/null +++ b/test/valgrind.suppressions @@ -0,0 +1,22 @@ +{ + + Memcheck:Param + timer_create(evp) + fun:timer_create@@GLIBC_2.3.3 + fun:srunner_run + fun:main +} +{ + + Memcheck:Param + ioctl(generic) + fun:ioctl + fun:libevdev_grab +} +{ + + Memcheck:Param + ioctl(generic) + fun:ioctl + fun:test_revoke* +} -- 2.34.1