# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict; use v5.10.1; use PublicInbox::TestCommon;
use Fcntl qw(SEEK_SET);
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict; use v5.10.1; use PublicInbox::TestCommon;
use Fcntl qw(SEEK_SET);
-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;
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");
my $mid = '20140421094015.GA8962@dcvr.yhbt.net';
my @cmd = ('q', '--only', $url, '-q', "m:$mid");
lei_ok(@cmd, \"query $url");
ok(WIFSIGNALED($?), "signaled @$out");
is(WTERMSIG($?), SIGPIPE, "got SIGPIPE @$out");
seek($err, 0, 0);
ok(WIFSIGNALED($?), "signaled @$out");
is(WTERMSIG($?), SIGPIPE, "got SIGPIPE @$out");
seek($err, 0, 0);
is_deeply(\@err, [], "no errors @$out");
}
if (-d $ENV{XDG_RUNTIME_DIR} && -w _) {
is_deeply(\@err, [], "no errors @$out");
}
if (-d $ENV{XDG_RUNTIME_DIR} && -w _) {
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_out, qr/use boolean prefix/, '--stdin on pipe');
}
ok(!lei(qw(q -q --stdin s:use)), "--stdin and argv don't mix");
for my $fmt (qw(ldjson ndjson jsonl)) {
lei_ok('q', '-f', $fmt, 's:use boolean prefix');
for my $fmt (qw(ldjson ndjson jsonl)) {
lei_ok('q', '-f', $fmt, 's:use boolean prefix');
}
ok(!lei('q', '-o', "$home/mbox", 's:nope'),
'fails if mbox format unspecified');
}
ok(!lei('q', '-o', "$home/mbox", 's:nope'),
'fails if mbox format unspecified');
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');
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');
{
skip 'TEST_LEI_DAEMON_PERSIST_DIR in use', 1 if
$ENV{TEST_LEI_DAEMON_PERSIST_DIR};
{
skip 'TEST_LEI_DAEMON_PERSIST_DIR in use', 1 if
$ENV{TEST_LEI_DAEMON_PERSIST_DIR};
my @q = qw(q -o mboxcl2:rel.mboxcl2 bye);
lei_ok('-C', $home, @q);
is(unlink("$home/rel.mboxcl2"), 1, '-C works before q');
my @q = qw(q -o mboxcl2:rel.mboxcl2 bye);
lei_ok('-C', $home, @q);
is(unlink("$home/rel.mboxcl2"), 1, '-C works before q');