diff options
| author | David A. Greene <greened@obbligato.org> | 2012-02-05 16:29:06 -0600 | 
|---|---|---|
| committer | David A. Greene <greened@obbligato.org> | 2012-04-09 22:26:10 -0500 | 
| commit | c3d884a68806d1b56f14b5ba1cfa3493aa7b277d (patch) | |
| tree | 7b5e102d2a2620347fce165d9f490f5d49e7b5ae | |
| parent | 7ff8463dba0d74fc07a766bed457ae7afcc902b5 (diff) | |
| download | git-c3d884a68806d1b56f14b5ba1cfa3493aa7b277d.tar.gz | |
Add subtree test Makefile
Add a Makefile to run subtree tests.  This is largely copied
from the standard test suite with irrelevant targets removed
and some paths altered to account for where subtree tests live.
Signed-off-by: David A. Greene <greened@obbligato.org>
| -rw-r--r-- | contrib/subtree/t/Makefile | 69 | 
1 files changed, 69 insertions, 0 deletions
| diff --git a/contrib/subtree/t/Makefile b/contrib/subtree/t/Makefile new file mode 100644 index 0000000000..c864810389 --- /dev/null +++ b/contrib/subtree/t/Makefile @@ -0,0 +1,69 @@ +# Run tests +# +# Copyright (c) 2005 Junio C Hamano +# + +-include ../../../config.mak.autogen +-include ../../../config.mak + +#GIT_TEST_OPTS=--verbose --debug +SHELL_PATH ?= $(SHELL) +PERL_PATH ?= /usr/bin/perl +TAR ?= $(TAR) +RM ?= rm -f +PROVE ?= prove +DEFAULT_TEST_TARGET ?= test + +# Shell quote; +SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) + +T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh) + +all: $(DEFAULT_TEST_TARGET) + +test: pre-clean $(TEST_LINT) +	$(MAKE) aggregate-results-and-cleanup + +prove: pre-clean $(TEST_LINT) +	@echo "*** prove ***"; GIT_CONFIG=.git/config $(PROVE) --exec '$(SHELL_PATH_SQ)' $(GIT_PROVE_OPTS) $(T) :: $(GIT_TEST_OPTS) +	$(MAKE) clean + +$(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) -r valgrind/bin +	$(RM) .prove + +test-lint: test-lint-duplicates test-lint-executable + +test-lint-duplicates: +	@dups=`echo $(T) | tr ' ' '\n' | sed 's/-.*//' | sort | uniq -d` && \ +		test -z "$$dups" || { \ +		echo >&2 "duplicate test numbers:" $$dups; exit 1; } + +test-lint-executable: +	@bad=`for i in $(T); do test -x "$$i" || echo $$i; done` && \ +		test -z "$$bad" || { \ +		echo >&2 "non-executable tests:" $$bad; exit 1; } + +aggregate-results-and-cleanup: $(T) +	$(MAKE) aggregate-results +	$(MAKE) clean + +aggregate-results: +	for f in ../../../t/test-results/t*-*.counts; do \ +		echo "$$f"; \ +	done | '$(SHELL_PATH_SQ)' ../../../t/aggregate-results.sh + +valgrind: +	$(MAKE) GIT_TEST_OPTS="$(GIT_TEST_OPTS) --valgrind" + +test-results: +	mkdir -p test-results + +.PHONY: pre-clean $(T) aggregate-results clean valgrind | 
