Git's tests have depended on Perl since at least 2006

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Git's tests have depended on Perl since at least 2006

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:49:19

This is just an interesting datapoint, but Git's test suite currently
crashes and burns if you don't have a perl in your $PATH, no matter if
you've compiled with NO_PERL=YesPlease or not. This has been the case
since at least 2006, or v1.3.0-rc1~13^2~34.

The affected tests are:

    ./t0000-basic.sh ./t0025-crlf-auto.sh ./t0080-vcs-svn.sh
    ./t0020-crlf.sh ./t1010-mktree.sh ./t1300-repo-config.sh
    ./t3300-funny-names.sh ./t4012-diff-binary.sh
    ./t4020-diff-external.sh ./t4014-format-patch.sh
    ./t4029-diff-trailing-space.sh ./t4031-diff-rewrite-binary.sh
    ./t4030-diff-textconv.sh ./t4043-diff-rename-binary.sh
    ./t4103-apply-binary.sh ./t4116-apply-reverse.sh ./t4200-rerere.sh
    ./t5303-pack-corruption-resilience.sh ./t5300-pack-object.sh
    ./t6011-rev-list-with-bad-commit.sh
    ./t6013-rev-list-reverse-parents.sh ./t6003-rev-list-topo-order.sh

I have a WIP patch series to tackle this issue:

    http://github.com/avar/git/compare/git:pu...in-progress-dont-depend-on-perl

It adds a PERL dependency to things and changes perl to
"$PERL_PATH". Many things were implicitly depending on perl due to
this bit in test-lib.sh:

    q_to_nul () {
        perl -pe 'y/Q/\000/'
    }

And many other bits do other things with perl but aren't declaring a
PERL dependency.

Anyway, I just thought I'd mention it, that this hasn't been fixed yet
would suggest that nearly everyone has perl anyway, and that maybe we
shouldn't think twice about introducing a perl dependency to things
when it's convenient.

Re: Git's tests have depended on Perl since at least 2006

From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:49:19

Ævar Arnfjörð Bjarmason wrote:
This is just an interesting datapoint, but Git's test suite currently
crashes and burns if you don't have a perl in your $PATH, no matter if
you've compiled with NO_PERL=YesPlease or not.
Yes, I think this was known.  Development machines (which is where
people tend to run tests most) tend to have perl but some weird
production machines did not.
I have a WIP patch series to tackle this issue:

    http://github.com/avar/git/compare/git:pu...in-progress-dont-depend-on-perl

It adds a PERL dependency to things
Reasonable.
and changes perl to
"$PERL_PATH".
Is that necessary?  As you mentioned before, a lot of uses of perl are
for run-of-the-mill one-liners and do not care much which version they
get.

On the other hand, even if it is not necessary, it might still be a
good idea to just stick to one perl version for simplicity.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help