X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Flei-externals.t;h=284be1b9866b838a904fedc2576738e7ce9eb5b4;hb=25fb42242320ffb55655d89268ddbb468eab9a6a;hp=488bf5ad99ef07db571944db05ca0ba14af51767;hpb=64b1ce9f94127fc144d6205bb572fe43b4b552c2;p=public-inbox.git diff --git a/t/lei-externals.t b/t/lei-externals.t index 488bf5ad..284be1b9 100644 --- a/t/lei-externals.t +++ b/t/lei-externals.t @@ -3,23 +3,23 @@ # License: AGPL-3.0+ use strict; use v5.10.1; use PublicInbox::TestCommon; use Fcntl qw(SEEK_SET); -use PublicInbox::Spawn qw(which); -use PublicInbox::OnDestroy; require_git 2.6; require_mods(qw(json DBD::SQLite Search::Xapian)); use POSIX qw(WTERMSIG WIFSIGNALED SIGPIPE); -my @onions = qw(http://hjrcffqmbrq6wope.onion/meta/ - http://czquwvybam4bgbro.onion/meta/ - http://ou63pmih66umazou.onion/meta/); +my @onions = map { "http://$_.onion/meta/" } qw( + 4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd + ie5yzdi7fg72h7s4sdcztq5evakq23rdt33mfyfcddc5u3ndnw24ogqd + 7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd); my $test_external_remote = sub { my ($url, $k) = @_; SKIP: { skip "$k unset", 1 if !$url; - state $curl = which('curl'); - $curl or skip 'no curl', 1; - which('torsocks') or skip 'no torsocks', 1 if $url =~ m!\.onion/!; + require_cmd 'curl', 1 or skip 'curl missing', 1; + if ($url =~ m!\.onion/!) { + require_cmd 'torsocks', 1 or skip 'no torsocks', 1; + } my $mid = '20140421094015.GA8962@dcvr.yhbt.net'; my @cmd = ('q', '--only', $url, '-q', "m:$mid"); lei_ok(@cmd, \"query $url"); @@ -49,7 +49,7 @@ SKIP: { ok(WIFSIGNALED($?), "signaled @$out"); is(WTERMSIG($?), SIGPIPE, "got SIGPIPE @$out"); seek($err, 0, 0); - my @err = grep(!m{mkdir .*sun_path\b}, <$err>); + my @err = <$err>; is_deeply(\@err, [], "no errors @$out"); } if (-d $ENV{XDG_RUNTIME_DIR} && -w _) { @@ -76,6 +76,7 @@ test_lei(sub { my $config_file = "$home/.config/lei/config"; my $store_dir = "$home/.local/share/lei"; lei_ok 'ls-external', \'ls-external on fresh install'; + ignore_inline_c_missing($lei_err); is($lei_out.$lei_err, '', 'ls-external no output, yet'); ok(!-e $config_file && !-e $store_dir, 'nothing created by ls-external'); @@ -211,6 +212,8 @@ test_lei(sub { like($lei_out, qr/use boolean prefix/, '--stdin on pipe'); } ok(!lei(qw(q -q --stdin s:use)), "--stdin and argv don't mix"); + like($lei_err, qr/no query allowed.*--stdin/, + '--stdin conflict error message'); for my $fmt (qw(ldjson ndjson jsonl)) { lei_ok('q', '-f', $fmt, 's:use boolean prefix'); @@ -250,6 +253,8 @@ test_lei(sub { } ok(!lei('q', '-o', "$home/mbox", 's:nope'), 'fails if mbox format unspecified'); + like($lei_err, qr/unable to determine mbox/, 'mbox-related message'); + ok(!lei(qw(q --no-local s:see)), '--no-local'); is($? >> 8, 1, 'proper exit code'); like($lei_err, qr/no local or remote.+? to search/, 'no inbox'); @@ -266,10 +271,6 @@ test_lei(sub { { skip 'TEST_LEI_DAEMON_PERSIST_DIR in use', 1 if $ENV{TEST_LEI_DAEMON_PERSIST_DIR}; - opendir my $dh, '.' or BAIL_OUT "opendir(.) $!"; - my $od = PublicInbox::OnDestroy->new($$, sub { - chdir $dh or BAIL_OUT "chdir: $!" - }); my @q = qw(q -o mboxcl2:rel.mboxcl2 bye); lei_ok('-C', $home, @q); is(unlink("$home/rel.mboxcl2"), 1, '-C works before q');