Subject: Re: [PATCH v2 2/2] t1006: ensure cat-file info isn't buffered by default

From: Eric Wong <[email-masked]>
Date: Wed, 19 Jun 2024 17:56:33 +0000

Junio C Hamano <[email-masked]> wrote:
> Eric Wong <[email-masked]> writes:
> 
> >> Yes, using Perl is a good substitute for writing it in C in this
> >> case.  I however question the choice to use t9700/test.pl here,
> >> which is clearly stated that its purpose is to "test perl interface
> >> which is Git.pm", and added tests are not testing anything in Git.pm
> >> at all.
> >> 
> >> Using t9700/test.pl only because it happens to use "perl -MTest::More"
> >> sounds a bit eh, suboptimal.
> >
> > *shrug*  I figure Test::More is common enough since it's part of
> > the Perl standard library; but I consider Perl a better scripting
> > language than sh by far and wish our whole test suite were Perl :>
> 
> Oh, I think we (actually the author of t9700) considers it common
> enough that we have PERL_TEST_MORE prerequisite to allow us to write
> tests, assuming that it is available, and let us easily skip where
> it is not available.  So I do not think I mind the dependency on
> Test::More at all.  Moving the tests to t1006 and rewriting the
> tests not to use Test::More are two separate and unrelated things,
> and if you are more comfortable with Test::More (and more
> importantly if it is natural to write Perl based tests using
> Test::More), it is not necessary to switch away from it.

OK, fair enough.  Given t1006 is mostly sh, I prefer keeping v2
as-is because the Test::More->builder munging of test numbers in
t9700/test.pl is nasty too and I wouldn't enjoy duplicating
those bits in a hypothetical t1006/test.pl, either.

It would be nice to have first class support for Test::More in
our suite so we could just have t/t0006-cat-file.t and
t/t9700-perl-git.t implemented in Perl without sh at all, but
that's a separate discussion.