test: allow running the tests under "prove"
You can run "make DEFAULT_TEST_TARGET=prove test" to run the test under "prove" (or $(PROVE) if set). The output is a bit easier to read when running many tests in parallel. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Liked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Liked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Michael J Gruber committed
Oct 14, 2010 at 10:53 UTC
28d836c81586e6b49131c69bbc5228a41667f1da
2 files changed
+15
-1
t/Makefile
+9
-1
@@ -11,6 +11,8 @@ SHELL_PATH ?= $(SHELL)
11
PERL_PATH ?= /usr/bin/perl
12
TAR ?= $(TAR)
13
RM ?= rm -f
14
+PROVE ?= prove
15
+DEFAULT_TEST_TARGET ?= test
16
17
# Shell quote;
18
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
@@ -18,9 +20,15 @@ SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
20
T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)
21
TSVN = $(wildcard t91[0-9][0-9]-*.sh)
22
21
-all: pre-clean
23
+all: $(DEFAULT_TEST_TARGET)
24
+
25
+test: pre-clean
26
$(MAKE) aggregate-results-and-cleanup
27
28
+prove: pre-clean
29
+ @echo "*** prove ***"; GIT_CONFIG=.git/config $(PROVE) --exec '$(SHELL_PATH_SQ)' $(GIT_PROVE_OPTS) $(T) :: $(GIT_TEST_OPTS)
30
+ $(MAKE) clean
31
+
32
$(T):
33
@echo "*** $@ ***"; GIT_CONFIG=.git/config '$(SHELL_PATH_SQ)' $@ $(GIT_TEST_OPTS)
34
t/README
+6
@@ -50,6 +50,12 @@ prove and other harnesses come with a lot of useful options. The
50
# Repeat until no more failures
51
$ prove -j 15 --state=failed,save ./t[0-9]*.sh
52
53
+You can give DEFAULT_TEST_TARGET=prove on the make command (or define it
54
+in config.mak) to cause "make test" to run tests under prove.
55
+GIT_PROVE_OPTS can be used to pass additional options, e.g.
56
+
57
+ $ make DEFAULT_TEST_TARGET=prove GIT_PROVE_OPTS='--timer --jobs 16' test
58
+
59
You can also run each test individually from command line, like this:
60
61
$ sh ./t3010-ls-files-killed-modified.sh