aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--Makefile.local4
-rw-r--r--test/Makefile54
-rw-r--r--test/Makefile.local7
-rwxr-xr-xtest/notmuch-test25
5 files changed, 36 insertions, 56 deletions
diff --git a/Makefile b/Makefile
index 619392d3..7549b40d 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
all:
# List all subdirectories here. Each contains its own Makefile.local
-subdirs = compat completion emacs lib
+subdirs = compat completion emacs lib test
# We make all targets depend on the Makefiles themselves.
global_deps = Makefile Makefile.config Makefile.local \
diff --git a/Makefile.local b/Makefile.local
index bc61a3c1..ade84121 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -61,10 +61,6 @@ ifeq ($(shell cat .first-build-message 2>/dev/null),)
endif
endif
-.PHONY: test
-test: all
- @./test/notmuch-test
-
$(TAR_FILE):
git archive --format=tar --prefix=$(PACKAGE)-$(VERSION)/ HEAD > $(TAR_FILE).tmp
echo $(VERSION) > version.tmp
diff --git a/test/Makefile b/test/Makefile
index 7a29eaa1..b6859eac 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -1,49 +1,7 @@
-# Run tests
-#
-# Copyright (c) 2005 Junio C Hamano
-#
+# See Makfefile.local for the list of files to be compiled in this
+# directory.
+all:
+ $(MAKE) -C .. all
--include ../config.mak
-
-#GIT_TEST_OPTS=--verbose --debug
-SHELL=/bin/bash
-SHELL_PATH ?= $(SHELL)
-TAR ?= $(TAR)
-RM ?= rm -f
-
-# Shell quote;
-SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
-
-T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)
-TSVN = $(wildcard t91[0-9][0-9]-*.sh)
-
-all: pre-clean
- $(MAKE) aggregate-results-and-cleanup
-
-$(T):
- @echo "*** $@ ***"; GIT_CONFIG=.git/config '$(SHELL_PATH_SQ)' $@ $(GIT_TEST_OPTS)
-
-pre-clean:
- $(RM) -r test-results
-
-clean:
- $(RM) -r 'trash directory'.* test-results
- $(RM) t????/cvsroot/CVSROOT/?*
- $(RM) -r valgrind/bin
-
-aggregate-results-and-cleanup: $(T)
- $(MAKE) aggregate-results
- $(MAKE) clean
-
-aggregate-results:
- '$(SHELL_PATH_SQ)' ./aggregate-results.sh test-results/t*-*
-
-# we can test NO_OPTIMIZE_COMMITS independently of LC_ALL
-full-svn-test:
- $(MAKE) $(TSVN) GIT_SVN_NO_OPTIMIZE_COMMITS=1 LC_ALL=C
- $(MAKE) $(TSVN) GIT_SVN_NO_OPTIMIZE_COMMITS=0 LC_ALL=en_US.UTF-8
-
-valgrind:
- GIT_TEST_OPTS=--valgrind $(MAKE)
-
-.PHONY: pre-clean $(T) aggregate-results clean valgrind
+.DEFAULT:
+ $(MAKE) -C .. $@
diff --git a/test/Makefile.local b/test/Makefile.local
new file mode 100644
index 00000000..a9548441
--- /dev/null
+++ b/test/Makefile.local
@@ -0,0 +1,7 @@
+# -*- makefile -*-
+
+dir := test
+
+.PHONY: test
+test: all
+ @${dir}/notmuch-test
diff --git a/test/notmuch-test b/test/notmuch-test
index 5c066ed1..8ff21cc6 100755
--- a/test/notmuch-test
+++ b/test/notmuch-test
@@ -1,4 +1,23 @@
-#!/bin/bash
+#!/bin/sh
-cd $(dirname $0)
-make
+# Run tests
+#
+# Copyright (c) 2005 Junio C Hamano
+#
+# Adapted from a Makefile to a shell script by Carl Worth (2010)
+
+cd $(dirname "$0")
+
+# Clean up any results from a previous run
+rm -r test-results >/dev/null 2>/dev/null
+
+# Run the tests
+for test in t[0-9][0-9][0-9][0-9]*.sh; do
+ ./"$test"
+done
+
+# Report results
+./aggregate-results.sh test-results/t*-*
+
+# Clean up
+rm -r test-results