diff options
author | Eric Wong <e@80x24.org> | 2023-01-30 22:50:07 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2023-01-31 00:27:05 +0000 |
commit | 5dbb060037ce3e3a3ba0812baa90c80eeee762af (patch) | |
tree | 4c61aef7f5822ede45c8c352320ed8bc5b7492b8 /t | |
parent | 155ee9cdaffd6232ef3c774d1a9f61d708fc8d6e (diff) | |
download | public-inbox-5dbb060037ce3e3a3ba0812baa90c80eeee762af.tar.gz |
We'll rely on defined(wantarray) to implicitly skip subtests, and memoize these to reduce syscalls, since tests should be short-lived enough to not be affected by new installations or removals of git/xapian-compact/curl/etc...
Diffstat (limited to 't')
-rw-r--r-- | t/admin.t | 4 | ||||
-rw-r--r-- | t/config.t | 5 | ||||
-rw-r--r-- | t/convert-compact.t | 5 | ||||
-rw-r--r-- | t/git.t | 5 | ||||
-rw-r--r-- | t/imapd.t | 5 | ||||
-rw-r--r-- | t/import.t | 9 | ||||
-rw-r--r-- | t/index-git-times.t | 5 | ||||
-rw-r--r-- | t/init.t | 8 | ||||
-rw-r--r-- | t/nntpd.t | 2 | ||||
-rw-r--r-- | t/v2mirror.t | 4 |
10 files changed, 25 insertions, 27 deletions
@@ -1,5 +1,5 @@ #!perl -w -# Copyright (C) 2019-2021 all contributors <meta@public-inbox.org> +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> use strict; use v5.10.1; @@ -13,7 +13,7 @@ my ($res, $err, $v); my $v2ibx; SKIP: { require_mods(qw(DBD::SQLite), 5); - require_git(2.6, 1) or skip 5, 'git too old'; + require_git(2.6, 5); $v2ibx = create_inbox 'v2', indexlevel => 'basic', version => 2, -no_gc => 1, sub { my ($v2w, $ibx) = @_; @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2021 all contributors <meta@public-inbox.org> +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> use strict; use v5.10.1; @@ -245,8 +245,7 @@ EOF SKIP: { # XXX wildcard match requires git 2.26+ - require_git('1.8.5', 2) or - skip 'git 1.8.5+ required for --url-match', 2; + require_git('1.8.5', 2); my $f = "$tmpdir/urlmatch"; open my $fh, '>', $f or BAIL_OUT $!; print $fh <<EOF or BAIL_OUT $!; diff --git a/t/convert-compact.t b/t/convert-compact.t index def09567..bad6560e 100644 --- a/t/convert-compact.t +++ b/t/convert-compact.t @@ -1,5 +1,5 @@ #!perl -w -# Copyright (C) 2018-2021 all contributors <meta@public-inbox.org> +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> use strict; use v5.10.1; @@ -8,8 +8,7 @@ use PublicInbox::TestCommon; use PublicInbox::Import; require_git(2.6); require_mods(qw(DBD::SQLite Search::Xapian)); -have_xapian_compact or - plan skip_all => 'xapian-compact missing for '.__FILE__; +have_xapian_compact; my ($tmpdir, $for_destroy) = tmpdir(); my $ibx = create_inbox 'v1', indexlevel => 'medium', tmpdir => "$tmpdir/v1", pre_cb => sub { @@ -1,7 +1,8 @@ +#!perl -w # Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> use strict; -use Test::More; +use v5.10.1; use PublicInbox::TestCommon; my ($dir, $for_destroy) = tmpdir(); use PublicInbox::Import; @@ -134,7 +135,7 @@ if (1) { } SKIP: { - require_git(2.6, 7) or skip('need git 2.6+ for --batch-all-objects', 7); + require_git(2.6, 7); my ($alt, $alt_obj) = tmpdir(); my $hash_obj = [ 'git', "--git-dir=$alt", qw(hash-object -w --stdin) ]; PublicInbox::Import::init_bare($alt); @@ -3,7 +3,7 @@ # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> # end-to-end IMAP tests, see unit tests in t/imap.t, too use strict; -use Test::More; +use v5.10.1; use Time::HiRes (); use PublicInbox::TestCommon; use PublicInbox::Config; @@ -438,8 +438,7 @@ ok($mic->logout, 'logged out'); SKIP: { use_ok 'PublicInbox::InboxIdle'; - require_git('1.8.5', 1) or - skip('git 1.8.5+ needed for --urlmatch', 4); + require_git '1.8.5', 4; my $old_env = { HOME => $ENV{HOME} }; my $home = "$tmpdir/watch_home"; mkdir $home or BAIL_OUT $!; @@ -1,8 +1,8 @@ +#!perl -w # Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> +use v5.10.1; use strict; -use warnings; -use Test::More; use PublicInbox::Eml; use PublicInbox::Smsg; use PublicInbox::Git; @@ -26,10 +26,11 @@ hello world EOF my $v2 = require_git(2.6, 1); -my $smsg = bless {}, 'PublicInbox::Smsg' if $v2; +my $smsg = $v2 ? bless({}, 'PublicInbox::Smsg') : undef; like($im->add($mime, undef, $smsg), qr/\A:[0-9]+\z/, 'added one message'); -if ($v2) { +SKIP: { + skip 'git 2.6+ required', 3 if !$v2; like($smsg->{blob}, qr/\A[a-f0-9]{40,64}\z/, 'got last object_id'); my @cmd = ('git', "--git-dir=$git->{git_dir}", qw(hash-object --stdin)); open my $in, '+<', undef or BAIL_OUT "open(+<): $!"; diff --git a/t/index-git-times.t b/t/index-git-times.t index 52173396..ffe9223c 100644 --- a/t/index-git-times.t +++ b/t/index-git-times.t @@ -1,9 +1,8 @@ #!perl -w -# Copyright (C) 2020-2021 all contributors <meta@public-inbox.org> +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> use strict; use v5.10.1; -use Test::More; use PublicInbox::TestCommon; use PublicInbox::Config; use PublicInbox::Admin; @@ -74,7 +73,7 @@ my $smsg; is($res->[0]->{ds}, $smsg->{ds}, 'Xapian search on datestamp'); } SKIP: { - require_git(2.6, 1) or skip('git 2.6+ required for v2', 10); + require_git(2.6, 10); my $v2dir = "$tmpdir/v2"; run_script(['-convert', $v1dir, $v2dir]) or die 'v2 conversion failed'; @@ -1,8 +1,8 @@ -# Copyright (C) 2014-2021 all contributors <meta@public-inbox.org> +#!perl -w +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> use strict; -use warnings; -use Test::More; +use v5.10.1; use PublicInbox::Config; use PublicInbox::TestCommon; use PublicInbox::Admin; @@ -117,7 +117,7 @@ sub quiet_fail { SKIP: { require_mods(qw(DBD::SQLite Search::Xapian), 2); - require_git(2.6, 1) or skip "git 2.6+ required", 2; + require_git(2.6, 2); use_ok 'PublicInbox::Msgmap'; local $ENV{PI_DIR} = "$tmpdir/.public-inbox/"; local $ENV{PI_EMERGENCY} = "$tmpdir/.public-inbox/emergency"; @@ -413,7 +413,7 @@ sub test_watch { use_ok 'PublicInbox::Watch'; use_ok 'PublicInbox::InboxIdle'; use_ok 'PublicInbox::Config'; - require_git('1.8.5', 1) or skip('git 1.8.5+ needed for --urlmatch', 4); + require_git('1.8.5', 4); my $old_env = { HOME => $ENV{HOME} }; my $home = "$tmpdir/watch_home"; mkdir $home or BAIL_OUT $!; diff --git a/t/v2mirror.t b/t/v2mirror.t index f9074e45..c1c66d45 100644 --- a/t/v2mirror.t +++ b/t/v2mirror.t @@ -1,4 +1,4 @@ -# Copyright (C) 2018-2021 all contributors <meta@public-inbox.org> +# Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> use strict; use v5.10.1; @@ -330,7 +330,7 @@ SKIP: { require_mods('Email::MIME', 1); # for legacy revision # using plackup to test old PublicInbox::WWW since -httpd from # back then relied on some packages we no longer depend on - my $plackup = which('plackup') or skip('no plackup in path', 1); + my $plackup = require_cmd('plackup', 1) or skip('no plackup in path', 1); require PublicInbox::Lock; chomp $oldrev; my ($base) = ($0 =~ m!\b([^/]+)\.[^\.]+\z!); |