tests: Add 'make check-valgrind' to run test suite under valgrind.
[miniexpect.git] / Makefile.am
index 6139816..4d3f91f 100644 (file)
@@ -39,17 +39,39 @@ example_sshpass_LDADD = libminiexpect.la
 # Tests.
 
 TESTS = $(check_PROGRAMS)
-check_PROGRAMS = test-spawn
+check_PROGRAMS = \
+       test-spawn \
+       test-ls-version
 
-test_spawn_SOURCES = test-spawn.c
+test_spawn_SOURCES = test-spawn.c tests.h miniexpect.h
 test_spawn_CFLAGS = $(PCRE_CFLAGS) -Wall
 test_spawn_LDADD = libminiexpect.la
 
+test_ls_version_SOURCES = test-ls-version.c tests.h miniexpect.h
+test_ls_version_CFLAGS = $(PCRE_CFLAGS) -Wall
+test_ls_version_LDADD = libminiexpect.la
+
+# parallel-tests breaks the ability to put 'valgrind' into
+# TESTS_ENVIRONMENT.  Hence we have to work around it:
+check-valgrind:
+       for t in $(TESTS); do \
+         $(LIBTOOL) --mode=execute $(VG) ./$$t; \
+         r=$$?; \
+         if [ $$r -ne 0 ]; then exit $$r; fi; \
+       done
+
+# Clean.
+
+CLEANFILES = *~
+
 # Man pages.
 
 man_MANS = miniexpect.3
 
 if HAVE_POD2MAN
+
+CLEANFILES += miniexpect.3
+
 miniexpect.3: miniexpect.pod
        $(POD2MAN) \
          --section 3 \
@@ -57,8 +79,5 @@ miniexpect.3: miniexpect.pod
          -c "Library functions" \
          $< > $@-t
        mv $@-t $@
-endif
-
-# Clean.
 
-CLEANFILES = *~
+endif