Re: [PATCH 1/6] Make test-lib.sh emit valid TAP format

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

 



Æ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

[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]