Browse Source

tests: move copy/pasted PERL + Test::More checks to a lib-perl.sh

Since the original "perl -MTest::More" prerequisite check was added in
[1] it's been copy/pasted in [2], [3] and [4]. As we'll be changing
these codepaths in a subsequent commit let's consolidate these.

While we're at it let's move these to a lazy prereq, and make them
conform to our usual coding style (e.g. "\nthen", not "; then").

1. e46f9c8161 (t9700: skip when Test::More is not available,
   2008-06-29)
2. 5e9637c629 (i18n: add infrastructure for translating Git with
   gettext, 2011-11-18)
3. 8d314d7afe (send-email: reduce dependencies impact on
   parse_address_line, 2015-07-07)
4. f07eeed123 (git-credential-netrc: adapt to test framework for git,
   2018-05-12)

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Ævar Arnfjörð Bjarmason 3 years ago committed by Junio C Hamano
parent
commit
64f3f5a3f6
  1. 11
      contrib/credential/netrc/t-git-credential-netrc.sh
  2. 19
      t/lib-perl.sh
  3. 12
      t/t0202-gettext-perl.sh
  4. 11
      t/t9700-perl-git.sh

11
contrib/credential/netrc/t-git-credential-netrc.sh

@ -3,16 +3,9 @@ @@ -3,16 +3,9 @@
cd ../../../t
test_description='git-credential-netrc'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-perl.sh

if ! test_have_prereq PERL; then
skip_all='skipping perl interface tests, perl not available'
test_done
fi

perl -MTest::More -e 0 2>/dev/null || {
skip_all="Perl Test::More unavailable, skipping test"
test_done
}
skip_all_if_no_Test_More

# set up test repository


19
t/lib-perl.sh

@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
# Copyright (c) 2022 Ævar Arnfjörð Bjarmason

test_lazy_prereq PERL_TEST_MORE '
perl -MTest::More -e 0
'

skip_all_if_no_Test_More () {
if ! test_have_prereq PERL
then
skip_all='skipping perl interface tests, perl not available'
test_done
fi

if ! test_have_prereq PERL_TEST_MORE
then
skip_all="Perl Test::More unavailable, skipping test"
test_done
fi
}

12
t/t0202-gettext-perl.sh

@ -7,16 +7,8 @@ test_description='Perl gettext interface (Git::I18N)' @@ -7,16 +7,8 @@ test_description='Perl gettext interface (Git::I18N)'

TEST_PASSES_SANITIZE_LEAK=true
. ./lib-gettext.sh

if ! test_have_prereq PERL; then
skip_all='skipping perl interface tests, perl not available'
test_done
fi

perl -MTest::More -e 0 2>/dev/null || {
skip_all="Perl Test::More unavailable, skipping test"
test_done
}
. "$TEST_DIRECTORY"/lib-perl.sh
skip_all_if_no_Test_More

# The external test will outputs its own plan
test_external_has_tap=1

11
t/t9700-perl-git.sh

@ -5,16 +5,9 @@ @@ -5,16 +5,9 @@

test_description='perl interface (Git.pm)'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-perl.sh

if ! test_have_prereq PERL; then
skip_all='skipping perl interface tests, perl not available'
test_done
fi

perl -MTest::More -e 0 2>/dev/null || {
skip_all="Perl Test::More unavailable, skipping test"
test_done
}
skip_all_if_no_Test_More

# set up test repository


Loading…
Cancel
Save