t/README: tests can use perl even with NO_PERL

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> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jonathan Nieder committed Oct 28, 2013 at 12:22 UTC f8fc0ee314d0e0c993d2edac8848a4cfe72c771f
1 file changed +11 -4
t/README
+11 -4
@@ -629,11 +629,18 @@ See the prereq argument to the test_* functions in the "Test harness
629 library" section above and the "test_have_prereq" function for how to
630 use these, and "test_set_prereq" for how to define your own.
631
632 - - PERL & PYTHON
632 + - PYTHON
633
634 - Git wasn't compiled with NO_PERL=YesPlease or
635 - NO_PYTHON=YesPlease. Wrap any tests that need Perl or Python in
636 - these.
634 + Git wasn't compiled with NO_PYTHON=YesPlease. Wrap any tests that
635 + need Python with this.
636 +
637 + - PERL
638 +
639 + Git wasn't compiled with NO_PERL=YesPlease.
640 +
641 + Even without the PERL prerequisite, tests can assume there is a
642 + usable perl interpreter at $PERL_PATH, though it need not be
643 + particularly modern.
644
645 - POSIXPERM
646