Subject: Re: [PATCH] Define $PERL_PATH in test-lib.sh

From: "Philippe Bruhat (BooK)" <[email-masked]>
Date: Tue, 10 Nov 2009 14:33:34 +0100

On Tue, Nov 10, 2009 at 07:23:15AM -0500, Jeff King wrote:
> On Tue, Nov 10, 2009 at 11:46:51AM +0100, Philippe Bruhat (BooK) wrote:
> 
> > The main Makefile defines PERL_PATH as the perl to use in the shebang
> > line of git*.perl commands. This ensures this will be the perl used
> > to run the tests (in case another perl appears in $PATH before the one
> > defined in $PERL_PATH)

PERL_PATH is a variable in the Makefile that, if not defined is set up
to /usr/bin/perl.

It is used to set the shebang line in the git-* perl scripts.

> I think this "the perl used to run the tests" needs to be clarified in
> the commit message.  There are really three ways we use perl in the
> tests:
> 
>   1. To run to the git-* scripts themselves.

Yes, this PERL_PATH.

>   2. To run a test snippet of perl as if we were a git-* script.

Actually, my goal was to run Makefile.PL with the proper perl (see below).

>   3. To run random perl helper functions.

I didn't replace those ones, because any perl is good enough to do some
perl -i.bak -pe 's/foo/bar/' processing.

> We already use PERL_PATH for (1). I don't think there is much point in
> worrying about (3). If the perl in your PATH is so broken that it can't
> be used for simple helpers, then you should fix your PATH.

The Perl in my PATH doesn't have Error.pm installed, but /usr/bin/perl
has it. When the Makefile.PL is run by /usr/bin/perl, the private-Error.pm
module is not copied in blib. The git-* perl scripts are using the perl
in PERL_PATH, and therefore can't load Error.pm (not in blib during make test),
causing test breakage.

This is the original reason for this patch. I fixed the general (2) case,
deliberately avoiding to replace every call to perl (3).

> Your patch seems to just fix (2), which I think is sane. But I wanted to
> note it, because when I read your commit message, I wasn't sure which
> you were doing.

Yes.

-- 
 Philippe Bruhat (BooK)

 Trust only in incompetence. You will never be disappointed.
                                    (Moral from Groo The Wanderer #16 (Epic))