This simply adds a couple of targets to the test Makefile which allow us to run the tests in parallel cleanly. This way the results don't get cleaned up automatically after running the tests, and we can emit those results to the master file. This might be interesting to upstream, but is really specific to running the tests in an external framework. --- git-2.45.1/t/Makefile.orig +++ git-2.45.1/t/Makefile @@ -66,6 +66,9 @@ sed -n 's/\.counts$$/.sh/p') && \ test -z "$$failed" || $(MAKE) $$failed +test-noclean: pre-clean $(TEST_LINT) + $(MAKE) T + prove: pre-clean check-chainlint $(TEST_LINT) @echo "*** prove ***"; $(CHAINLINTSUPPRESS) $(PROVE) --exec '$(TEST_SHELL_PATH_SQ)' $(GIT_PROVE_OPTS) $(T) :: $(GIT_TEST_OPTS) $(MAKE) clean-except-prove-cache @@ -135,6 +138,8 @@ test-lint-shell-syntax: @'$(PERL_PATH_SQ)' check-non-portable-shell.pl $(T) $(THELPERS) $(TPERF) +T: $(T) + test-lint-filenames: @# We do *not* pass a glob to ls-files but use grep instead, to catch @# non-ASCII characters (which are quoted within double-quotes)