diff options
Diffstat (limited to 't/lei-q-remote-import.t')
-rw-r--r-- | t/lei-q-remote-import.t | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/t/lei-q-remote-import.t b/t/lei-q-remote-import.t index 92d8c9b6..885fa3e1 100644 --- a/t/lei-q-remote-import.t +++ b/t/lei-q-remote-import.t @@ -1,7 +1,8 @@ #!perl -w -# Copyright (C) 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 PublicInbox::TestCommon; +use v5.12; use PublicInbox::TestCommon; +use autodie qw(open close unlink); require_mods(qw(lei -httpd)); require_cmd 'curl'; use PublicInbox::MboxReader; @@ -16,7 +17,7 @@ my $url = "http://$host_port/t2/"; my $exp1 = [ eml_load('t/plack-qp.eml') ]; my $exp2 = [ eml_load('t/iso-2202-jp.eml') ]; my $slurp_emls = sub { - open my $fh, '<', $_[0] or BAIL_OUT "open: $!"; + open my $fh, '<', $_[0]; my @eml; PublicInbox::MboxReader->mboxrd($fh, sub { my $eml = shift; @@ -31,33 +32,33 @@ test_lei({ tmpdir => $tmpdir }, sub { my @cmd = ('q', '-o', "mboxrd:$o", 'm:qp@example.com'); lei_ok(@cmd); ok(-f $o && !-s _, 'output exists but is empty'); - unlink $o or BAIL_OUT $!; + unlink $o; lei_ok(@cmd, '-I', $url); is_deeply($slurp_emls->($o), $exp1, 'got results after remote search'); - unlink $o or BAIL_OUT $!; + unlink $o; lei_ok(@cmd); ok(-f $o && -s _, 'output exists after import but is not empty') or diag $lei_err; is_deeply($slurp_emls->($o), $exp1, 'got results w/o remote search'); - unlink $o or BAIL_OUT $!; + unlink $o; $cmd[-1] = 'm:199707281508.AAA24167@hoyogw.example'; lei_ok(@cmd, '-I', $url, '--no-import-remote'); is_deeply($slurp_emls->($o), $exp2, 'got another after remote search'); - unlink $o or BAIL_OUT $!; + unlink $o; lei_ok(@cmd); ok(-f $o && !-s _, '--no-import-remote did not memoize'); open my $fh, '>', "$o.lock"; $cmd[-1] = 'm:qp@example.com'; - unlink $o or xbail("unlink $o $! cwd=".Cwd::getcwd()); + unlink $o; lei_ok(@cmd, '--lock=none'); ok(-f $o && -s _, '--lock=none respected') or diag $lei_err; - unlink $o or xbail("unlink $o $! cwd=".Cwd::getcwd()); + unlink $o; ok(!lei(@cmd, '--lock=dotlock,timeout=0.000001'), 'dotlock fails'); like($lei_err, qr/dotlock timeout/, 'timeout noted'); ok(-f $o && !-s _, 'nothing output on lock failure'); - unlink "$o.lock" or BAIL_OUT $!; + unlink "$o.lock"; lei_ok(@cmd, '--lock=dotlock,timeout=0.000001', \'succeeds after lock removal'); @@ -76,8 +77,8 @@ test_lei({ tmpdir => $tmpdir }, sub { 'm:testmessage@example.com'); is($lei_out, '', 'message not imported when in local external'); - open $fh, '>', $o or BAIL_OUT; - print $fh <<'EOF' or BAIL_OUT; + open $fh, '>', $o; + print $fh <<'EOF'; From a@z Mon Sep 17 00:00:00 2001 From: nobody@localhost Date: Sat, 13 Mar 2021 18:23:01 +0600 @@ -86,7 +87,7 @@ Status: OR whatever EOF - close $fh or BAIL_OUT; + close $fh; lei_ok(qw(q -o), "mboxrd:$o", 'm:testmessage@example.com'); is_deeply($slurp_emls->($o), [$exp], 'got expected result after clobber') or diag $lei_err; @@ -103,5 +104,11 @@ EOF lei_ok([qw(edit-search), "$ENV{HOME}/md"], $edit_env); like($lei_out, qr/^\Q[external "$url"]\E\n\s*lastresult = \d+/sm, 'lastresult set'); + + unlink $o; + lei_ok qw(q --no-save -q m:never2exist@example.com -o), "mboxrd:$o", + '--only', $url, + \'404 curl exit (22) does not influence lei(1)'; + is(-s $o, 0, 'empty result'); }); done_testing; |