The `sanitize_pgp()` test helper uses Perl to strip PGP signatures from stdin. Refactor it to instead use awk(1) so that we drop the PERL_TEST_HELPERS prerequisite in users of this library. Note that we have to add PERL_TEST_HELPERS to a subset of tests in t6300 now that the test suite doesn't bail out early anymore in case the prerequisite isn't set. Helped-by: Johannes Schindelin <Johannes.Schindelin@xxxxxx> Signed-off-by: Patrick Steinhardt <ps@xxxxxx> --- t/lib-gpg.sh | 6 +----- t/t6300-for-each-ref.sh | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh index 3845b6ac449..937b876bd05 100644 --- a/t/lib-gpg.sh +++ b/t/lib-gpg.sh @@ -192,9 +192,5 @@ test_lazy_prereq GPGSSH_VERIFYTIME ' ' sanitize_pgp() { - perl -ne ' - /^-----END PGP/ and $in_pgp = 0; - print unless $in_pgp; - /^-----BEGIN PGP/ and $in_pgp = 1; - ' + sed "/^-----BEGIN PGP/,/^-----END PGP/{/^-/p;d;}" } diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh index 732a4d3171e..5db7038c417 100755 --- a/t/t6300-for-each-ref.sh +++ b/t/t6300-for-each-ref.sh @@ -10,12 +10,6 @@ GNUPGHOME_NOT_USED=$GNUPGHOME . "$TEST_DIRECTORY"/lib-gpg.sh . "$TEST_DIRECTORY"/lib-terminal.sh -if ! test_have_prereq PERL_TEST_HELPERS -then - skip_all='skipping for-each-ref tests; Perl not available' - test_done -fi - # Mon Jul 3 23:18:43 2006 +0000 datestamp=1151968723 setdate_and_increment () { @@ -1215,7 +1209,7 @@ test_expect_success '%(raw) with --tcl must fail' ' test_must_fail git for-each-ref --format="%(raw)" --tcl ' -test_expect_success '%(raw) with --perl' ' +test_expect_success PERL_TEST_HELPERS '%(raw) with --perl' ' git for-each-ref --format="\$name= %(raw); print \"\$name\"" refs/myblobs/blob1 --perl | perl >actual && cmp blob1 actual && @@ -1442,9 +1436,14 @@ test_expect_success 'set up trailers for next test' ' ' test_trailer_option () { + if test "$#" -eq 3 + then + prereq="$1" + shift + fi && title=$1 option=$2 cat >expect - test_expect_success "$title" ' + test_expect_success $prereq "$title" ' git for-each-ref --format="%($option)" refs/heads/main >actual && test_cmp expect actual && git for-each-ref --format="%(contents:$option)" refs/heads/main >actual && @@ -1452,7 +1451,7 @@ test_trailer_option () { ' } -test_trailer_option '%(trailers:unfold) unfolds trailers' \ +test_trailer_option PERL_TEST_HELPERS '%(trailers:unfold) unfolds trailers' \ 'trailers:unfold' <<-EOF $(unfold <trailers) @@ -1482,13 +1481,13 @@ test_trailer_option '%(trailers:only=no) shows all trailers' \ EOF -test_trailer_option '%(trailers:only) and %(trailers:unfold) work together' \ +test_trailer_option PERL_TEST_HELPERS '%(trailers:only) and %(trailers:unfold) work together' \ 'trailers:only,unfold' <<-EOF $(grep -v patch.description <trailers | unfold) EOF -test_trailer_option '%(trailers:unfold) and %(trailers:only) work together' \ +test_trailer_option PERL_TEST_HELPERS '%(trailers:unfold) and %(trailers:only) work together' \ 'trailers:unfold,only' <<-EOF $(grep -v patch.description <trailers | unfold) -- 2.49.0.472.ge94155a9ec.dirty