Re: [RFC PATCH] Makefile: new prove target for running the tests with TAP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 14, 2010 at 08:53, Michael J Gruber
<git@xxxxxxxxxxxxxxxxxxxx> wrote:
> Introduce a new make target "prove" which runs the tests via "prove" (or
> $(PROVE) if set) so that one does not have to cd around any more. One
> can simply use "make prove" for "make test" or go wild as in:
>
> GIT_SKIP_TESTS='t[0-4]??? t91?? t9200.8' GIT_PROVE_OPTS="-j9 -v" GIT_TEST_OPTS="--verbose --debug" make prove
>
> Signed-off-by: Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx>
> ---
> RFC also because of lack of doc, and:
>
> Currently, one can do
>
> make -C t t6010-merge-base.sh
>
> or even
>
> make -C t t601*
>
> which is cool but undocumented. If we want this with prove it requires more
> effort, or shoving prove into the $(T) target rule which is doable, of course.
> I'm just wondering whether it's accepted to introduce a specific rule for prove
> at all.

I like the rationale behind this, but fwiw. I already had a patch that
was ejected for this:

    http://article.gmane.org/gmane.comp.version-control.git/146566

Quoth Junio:

    "Besides, "make -j15 test" from the toplevel already runs the
    tests in parallel.  I don't see much point in this change."

But I'd like to have it so that I could `make && make test_harness`
and get readable test output.

But we should probably be using t/harness to run them, not
prove(1). Then we would make the test_harness target respect the
HARNESS_OPTIONS variable, which I e.g. have set to HARNESS_OPTIONS=j9
on my system.

>
> ÂMakefile  |  Â3 +++
> Ât/Makefile | Â Â5 +++++
> Â2 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 1f1ce04..3478515 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -2046,6 +2046,9 @@ export NO_SVN_TESTS
> Âtest: all
> Â Â Â Â$(MAKE) -C t/ all
>
> +prove: all
> + Â Â Â $(MAKE) -C t/ prove
> +
> Âtest-ctype$X: ctype.o
>
> Âtest-date$X: date.o ctype.o
> diff --git a/t/Makefile b/t/Makefile
> index c7baefb..e4661c0 100644
> --- a/t/Makefile
> +++ b/t/Makefile
> @@ -11,6 +11,7 @@ SHELL_PATH ?= $(SHELL)
> ÂPERL_PATH ?= /usr/bin/perl
> ÂTAR ?= $(TAR)
> ÂRM ?= rm -f
> +PROVE ?= prove
>
> Â# Shell quote;
> ÂSHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
> @@ -21,6 +22,10 @@ TSVN = $(wildcard t91[0-9][0-9]-*.sh)
> Âall: pre-clean
> Â Â Â Â$(MAKE) aggregate-results-and-cleanup
>
> +prove: pre-clean
> + Â Â Â @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)
>
> --
> 1.7.3.1.184.g5b1fd
>
>
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]