git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Philippe Bruhat (BooK) <philippe.bruhat@free.fr>
Date
Nov 10, 2009, 13:33 UTC
Message-ID
<20091110133334.GB8896@plop>
In-Reply-To
<20091110122315.GA15906@coredump.intra.peff.net>
On Tue, Nov 10, 2009 at 07:23:15AM -0500, Jeff King wrote:
Show 6 quoted lines
> 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.
Show 5 quoted lines
> 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))
Previous: Jeff KingNext: Junio C Hamano
Message 3 of 18 in “Define $PERL_PATH in test-lib.sh”
  1. Define $PERL_PATH in test-lib.shPhilippe Bruhat (BooK), Nov 10, 2009
  2. Jeff KingNov 10, 2009
  3. Philippe Bruhat (BooK)Nov 10, 2009
  4. Junio C HamanoNov 15, 2009
  5. Philippe Bruhat (BooK)Nov 16, 2009
  6. Make sure $PERL_PATH is defined when the test suite is run.Philippe Bruhat (BooK), Nov 16, 2009
  7. Junio C HamanoNov 17, 2009
  8. Philippe Bruhat (BooK)Nov 17, 2009
  9. Make sure $PERL_PATH is defined when the test suite is run.Philippe Bruhat (BooK), Nov 17, 2009
  10. Johannes SixtNov 17, 2009
  11. Philippe Bruhat (BooK)Nov 17, 2009
  12. Junio C HamanoNov 17, 2009
  13. Make sure $PERL_PATH is defined when the test suite is run.Philippe Bruhat (BooK), Nov 17, 2009
  14. Johannes SixtNov 10, 2009
  15. Philippe Bruhat (BooK)Nov 10, 2009
  16. Junio C HamanoNov 10, 2009
  17. Philippe Bruhat (BooK)Nov 11, 2009
  18. Jeff KingNov 11, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.