Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > TAP, the the Test Anything Protocol, is a simple text-based interface > between testing modules in a test harness. test-lib.sh's output was > already very close to being valid TAP. This change brings it all the > way there. > > The advantage of using TAP is that any program that reads the format > (a "test harness") can run the tests. The most popular of these is the > prove(1) utility that comes with Perl. It can run tests in parallel, > display colored output, format the output to console, file, HTML etc., > and much more. > > On my quad Xeon server running the test suite with `make test` takes > 21 minutes. Running it with `prove -j 15 ./t[0-9]*.sh` takes just over > 5 minutes. > > With parallel tests the whole test suite doesn't have to stall because > tests like t3404-rebase-interactive.sh take a long time. I would have thought that it would be better for git test suite to enable TAP output with --tap switch. On the other hand changing output to TAP, replacing old format, would be less code to maintain. I am not sure if testing with 'prove' and TAP output is compatibile with all current git test suite options, i.e. --debug, --tee, --verbose and --immediate, and with GIT_SKIP_TESTS environmental variable. Also valuable way of checking where the error occurs in the test, namely 'sh -x ./tXXXX-test.sh' would not work, I think, with 'prove'. Note also that having Perl (and 'prove') installed is not requirement for git runnig, and I think it should not be requirement for git development. P.S. I think that such series would be better with the cover letter. -- Jakub Narebski Poland ShadeHawk on #git -- 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