Re: [PATCH] t/README: tests can use perl even with NO_PERL
- From
Jeff King <peff@peff.net>
- Date
- Oct 28, 2013, 19:54 UTC
- Message-ID
- <20131028195429.GA8299@sigill.intra.peff.net>
- In-Reply-To
- <20131028192216.GB4242@google.com>
On Mon, Oct 28, 2013 at 12:22:16PM -0700, Jonathan Nieder wrote:
Show 20 quoted lines
> The git build system supports a NO_PERL switch to avoid installing
> perl bindings or other features (like "git add --patch") that rely on
> perl on runtime, but even with NO_PERL it has not been possible for a
> long time to run tests without perl. Helpers such as
>
> nul_to_q () {
> "$PERL_PATH" -pe 'y/\000/Q/'
> }
>
> use perl as a better tr or sed and are regularly used in tests without
> worrying to add a PERL prerequisite.
>
> Perl is portable enough that it seems fine to keep relying on it for
> this kind of thing in tests (and more readable than the alternative of
> trying to find POSIXy equivalents). Update the test documentation to
> clarify this.
>
> Reported-by: Johannes Sixt <j6t@kdbg.org>
> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
> ---Yeah, I think this accurately the conclusions we've come to informally during review on the list (for a long time we did not even use $PERL_PATH for such "vanilla" cases, but some people have a broken perl in their PATH).
Your patch looks good, and I think Ben's patch does not need a PERL prerequisite. However, it is supposed to use $PERL_PATH, which it does not.
Speaking of which, is there any reason to use the ugly "$PERL_PATH" everywhere, and not simply do:
perl () {
"$PERL_PATH" "$@"
}in test-lib.sh?
-Peff