From: Timo Sirainen Date: Fri, 26 Mar 2010 22:35:20 +0000 (+0200) Subject: If valgrind exists, run unit tests using it. X-Git-Tag: 2.0.beta5~280 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c2af5ea6d4df3a69d2a7a5a820d53ad4c074f3a6;p=thirdparty%2Fdovecot%2Fcore.git If valgrind exists, run unit tests using it. If valgrind prints any errors, fail the test. --HG-- branch : HEAD --- diff --git a/configure.in b/configure.in index 56d8037e39..e54117f0b9 100644 --- a/configure.in +++ b/configure.in @@ -2613,6 +2613,13 @@ if test "$docdir" = ""; then fi AC_SUBST(docdir) +AC_CHECK_PROG(VALGRIND, valgrind, YES, NO) +if test $VALGRIND = YES; then + RUN_TEST='$(SHELL) $(top_srcdir)/run-test.sh' +else + RUN_TEST='' +fi +AC_SUBST(RUN_TEST) AC_SUBST(abs_top_builddir) AC_CONFIG_HEADERS([config.h]) diff --git a/run-test.sh b/run-test.sh new file mode 100644 index 0000000000..6cdf385050 --- /dev/null +++ b/run-test.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +trap "rm -f test.out.$$" 0 1 2 3 15 + +valgrind -q --log-file=test.out.$$ $* +if [ -s test.out.$$ ]; then + cat test.out.$$ + exit 1 +fi diff --git a/src/anvil/Makefile.am b/src/anvil/Makefile.am index 75f9a280cb..240d037b44 100644 --- a/src/anvil/Makefile.am +++ b/src/anvil/Makefile.am @@ -43,5 +43,5 @@ test_penalty_DEPENDENCIES = penalty.o $(test_libs) check: check-am check-test check-test: all-am for bin in $(test_programs); do \ - if ! ./$$bin; then exit 1; fi; \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ done diff --git a/src/dsync/Makefile.am b/src/dsync/Makefile.am index ff6943871e..71f6f22a0d 100644 --- a/src/dsync/Makefile.am +++ b/src/dsync/Makefile.am @@ -74,5 +74,5 @@ test_dsync_proxy_server_cmd_DEPENDENCIES = dsync-worker.o dsync-proxy.o dsync-pr check: check-am check-test check-test: all-am for bin in $(test_programs); do \ - if ! ./$$bin; then exit 1; fi; \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ done diff --git a/src/lib-dict/Makefile.am b/src/lib-dict/Makefile.am index 4772fea100..2a99ab4a75 100644 --- a/src/lib-dict/Makefile.am +++ b/src/lib-dict/Makefile.am @@ -87,5 +87,5 @@ test_dict_DEPENDENCIES = dict.lo $(test_libs) check: check-am check-test check-test: all-am for bin in $(test_programs); do \ - if ! ./$$bin; then exit 1; fi; \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ done diff --git a/src/lib-imap/Makefile.am b/src/lib-imap/Makefile.am index 2107c4d792..1e1d5f2154 100644 --- a/src/lib-imap/Makefile.am +++ b/src/lib-imap/Makefile.am @@ -71,5 +71,5 @@ test_imap_util_DEPENDENCIES = imap-util.lo $(test_libs) check: check-am check-test check-test: all-am for bin in $(test_programs); do \ - if ! ./$$bin; then exit 1; fi; \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ done diff --git a/src/lib-index/Makefile.am b/src/lib-index/Makefile.am index 4ea738d975..b5e9cb852b 100644 --- a/src/lib-index/Makefile.am +++ b/src/lib-index/Makefile.am @@ -96,7 +96,7 @@ test_mail_transaction_log_view_DEPENDENCIES = mail-transaction-log-view.lo $(tes check: check-am check-test check-test: all-am for bin in $(test_programs); do \ - if ! ./$$bin; then exit 1; fi; \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ done if INSTALL_HEADERS diff --git a/src/lib-mail/Makefile.am b/src/lib-mail/Makefile.am index a5513be2be..c097fffe1a 100644 --- a/src/lib-mail/Makefile.am +++ b/src/lib-mail/Makefile.am @@ -129,5 +129,5 @@ test_rfc2231_parser_DEPENDENCIES = rfc2231-parser.lo rfc822-parser.lo $(test_lib check: check-am check-test check-test: all-am for bin in $(test_programs); do \ - if ! ./$$bin; then exit 1; fi; \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ done diff --git a/src/lib-storage/index/Makefile.am b/src/lib-storage/index/Makefile.am index 223eaefb17..60b39b6cb5 100644 --- a/src/lib-storage/index/Makefile.am +++ b/src/lib-storage/index/Makefile.am @@ -60,7 +60,7 @@ test_index_fetch_DEPENDENCIES = index-fetch.lo $(test_libs) check: check-am check-test check-test: all-am for bin in $(test_programs); do \ - if ! ./$$bin; then exit 1; fi; \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ done if INSTALL_HEADERS diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index 28a2ac28f7..85b515d8ac 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -253,7 +253,7 @@ test_lib_DEPENDENCIES = $(test_libs) check: check-am check-test check-test: all-am for bin in $(test_programs); do \ - if ! ./$$bin; then exit 1; fi; \ + if ! $(RUN_TEST) ./$$bin; then exit 1; fi; \ done if INSTALL_HEADERS