From a09f678d8254064af7ca6dcfb3c3f84b5ae37b51 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 22 Dec 2019 22:17:37 +0000 Subject: testcommon: add require_mods method and use it This cuts down on lines of code in individual test cases and fixes some misnamed error messages by using "$0" consistently. This will also provide us with a method of swapping out dependencies which provide equivalent functionality (e.g "Xapian" SWIG can replace "Search::Xapian" XS bindings). --- xt/git-http-backend.t | 8 ++------ xt/msgtime_cmp.t | 2 +- xt/nntpd-validate.t | 8 ++------ xt/perf-nntpd.t | 1 - 4 files changed, 5 insertions(+), 14 deletions(-) (limited to 'xt') diff --git a/xt/git-http-backend.t b/xt/git-http-backend.t index 5f96369f..421c6316 100644 --- a/xt/git-http-backend.t +++ b/xt/git-http-backend.t @@ -11,12 +11,8 @@ use PublicInbox::TestCommon; my $git_dir = $ENV{GIANT_GIT_DIR}; plan 'skip_all' => 'GIANT_GIT_DIR not defined' unless $git_dir; -foreach my $mod (qw(BSD::Resource - Plack::Util Plack::Builder - HTTP::Date HTTP::Status Net::HTTP)) { - eval "require $mod"; - plan skip_all => "$mod missing for git-http-backend.t" if $@; -} +require_mods(qw(BSD::Resource Plack::Util Plack::Builder + HTTP::Date HTTP::Status Net::HTTP)); my $psgi = "./t/git-http-backend.psgi"; my ($tmpdir, $for_destroy) = tmpdir(); my $err = "$tmpdir/stderr.log"; diff --git a/xt/msgtime_cmp.t b/xt/msgtime_cmp.t index 469756c6..4f798006 100644 --- a/xt/msgtime_cmp.t +++ b/xt/msgtime_cmp.t @@ -9,7 +9,7 @@ use PublicInbox::Inbox; use PublicInbox::Git; use PublicInbox::MsgTime qw(msg_timestamp msg_datestamp); use POSIX qw(strftime); -eval { require Date::Parse } or plan skip_all => "Date::Parse missing for $0"; +require_mods('Date::Parse'); my $git; my ($inboxdir, $git_dir) = @ENV{qw(GIANT_INBOX_DIR GIANT_GIT_DIR)}; if (defined $inboxdir) { diff --git a/xt/nntpd-validate.t b/xt/nntpd-validate.t index c82d46e2..bf5c1ba8 100644 --- a/xt/nntpd-validate.t +++ b/xt/nntpd-validate.t @@ -8,16 +8,13 @@ use Test::More; use Symbol qw(gensym); use Time::HiRes qw(clock_gettime CLOCK_MONOTONIC); use POSIX qw(_exit); +use PublicInbox::TestCommon; my $inbox_dir = $ENV{GIANT_INBOX_DIR}; plan skip_all => "GIANT_INBOX_DIR not defined for $0" unless $inbox_dir; my $mid = $ENV{TEST_MID}; # Net::NNTP is part of the standard library, but distros may split it off... -foreach my $mod (qw(DBD::SQLite Net::NNTP Compress::Raw::Zlib)) { - eval "require $mod"; - plan skip_all => "$mod missing for $0" if $@; -} - +require_mods(qw(DBD::SQLite Net::NNTP Compress::Raw::Zlib)); my $test_compress = Net::NNTP->can('compress'); if (!$test_compress) { diag 'Your Net::NNTP does not yet support compression'; @@ -29,7 +26,6 @@ my $key = 'certs/server-key.pem'; if ($test_tls && !-r $key || !-r $cert) { plan skip_all => "certs/ missing for $0, run $^X ./certs/create-certs.perl"; } -use PublicInbox::TestCommon; my ($tmpdir, $ftd) = tmpdir(); $File::Temp::KEEP_ALL = !!$ENV{TEST_KEEP_TMP}; my (%OPT, $td, $host_port, $group); diff --git a/xt/perf-nntpd.t b/xt/perf-nntpd.t index df5ecb41..e4fd7355 100644 --- a/xt/perf-nntpd.t +++ b/xt/perf-nntpd.t @@ -8,7 +8,6 @@ use PublicInbox::Inbox; use Net::NNTP; my $inboxdir = $ENV{GIANT_INBOX_DIR} // $ENV{GIANT_PI_DIR}; plan skip_all => "GIANT_INBOX_DIR not defined for $0" unless defined($inboxdir); -eval { require PublicInbox::Search }; my ($host_port, $group, %opts, $s, $td, $tmp_obj); use PublicInbox::TestCommon; -- cgit v1.2.3-24-ge0c7