mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
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.
This commit is contained in:
parent
7a72999fad
commit
e6ba2c63c9
5 changed files with 36 additions and 56 deletions
2
Makefile
2
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 \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 .. $@
|
||||
|
|
7
test/Makefile.local
Normal file
7
test/Makefile.local
Normal file
|
@ -0,0 +1,7 @@
|
|||
# -*- makefile -*-
|
||||
|
||||
dir := test
|
||||
|
||||
.PHONY: test
|
||||
test: all
|
||||
@${dir}/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
|
||||
|
|
Loading…
Reference in a new issue