From: Carl Worth Date: Fri, 17 Sep 2010 19:10:54 +0000 (-0700) Subject: test: Fix test suite to integrate with our non-recursive Makefile system. X-Git-Tag: 0.4~100 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=e6ba2c63c9ba3d8999bd2f1c5eac3c5bf7c14167;hp=7a72999fad235deddb1364b8667f7012939ab385 test: Fix test suite to integrate with our non-recursive Makefile system. This avoids "make test" emitting messages from three (3!) recursive invocations of make. We change the invocations of the tests themselves to occur directly from the shell script rather than having the shell script invoke make again and using wildcards in the Makefile. --- 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