return 1 if $ok;
return if defined(wantarray);
my $m = "$0 is BSD-only (\$^O=$^O)";
- @_ ? skip($m) : plan(skip_all => $m);
+ @_ ? skip($m, 1) : plan(skip_all => $m);
}
sub xbail (@) { BAIL_OUT join(' ', map { ref() ? (explain($_)) : ($_) } @_) }
my $bin = $CACHE{$cmd} //= PublicInbox::Spawn::which($cmd);
return $bin if $bin;
return plan(skip_all => "$cmd missing from PATH for $0") if !$nr;
- defined(wantarray) ? undef :
- skip("$cmd missing, skipping $nr tests", $nr);
+ defined(wantarray) ? undef : skip("$cmd missing", $nr);
}
sub have_xapian_compact (;$) {
state $cur_ver = sprintf('%vd', $cur_vstr);
return plan skip_all => "git $req+ required, have $cur_ver" if !$nr;
defined(wantarray) ? undef :
- skip("git $req+ required (have $cur_ver), skipping $nr tests")
+ skip("git $req+ required (have $cur_ver)", $nr)
}
sub require_git_http_backend (;$) {
sub need_accept_filter ($) {
my ($af) = @_;
- return if $^O eq 'netbsd'; # since NetBSD 5.0
+ return if $^O eq 'netbsd'; # since NetBSD 5.0, no kldstat needed
$^O =~ /\A(?:freebsd|dragonfly)\z/ or
- skip 'SO_ACCEPTFILTER is FreeBSD/NetBSD/Dragonfly-only so far';
+ skip 'SO_ACCEPTFILTER is FreeBSD/NetBSD/Dragonfly-only so far',
+ 1;
state $tried = {};
($tried->{$af} //= system("kldstat -m $af >/dev/null")) and
- skip "$af not loaded: kldload $af";
+ skip "$af not loaded: kldload $af", 1;
}
sub require_mods {
our $strace_cmd;
sub strace (@) {
my ($for_daemon) = @_;
- skip 'linux only test' if $^O ne 'linux';
+ skip 'linux only test', 1 if $^O ne 'linux';
if ($for_daemon) {
my $f = '/proc/sys/kernel/yama/ptrace_scope';
# TODO: we could fiddle with prctl in the daemon to make
CORE::open($fh, '<', $f) ? readline($fh) : 0;
};
chomp $ps;
- skip "strace unusable on daemons\n$f is `$ps' (!= 0)" if $ps;
+ skip "strace unusable on daemons\n$f is `$ps' (!= 0)", 1 if $ps;
}
require_cmd('strace', 1) or skip 'strace not available', 1;
}
eval("v$1");
};
$ver ge v4.16 or skip "$cmd too old for syscall injection (".
- sprintf('v%vd', $ver). ' < v4.16)';
+ sprintf('v%vd', $ver). ' < v4.16)', 1;
$cmd
}
skip 'not Linux', 1 if $^O ne 'linux';
require_ok 'PublicInbox::Syscall';
$send = PublicInbox::Syscall->can('send_cmd4') or
- skip 'send_cmd4 not defined for arch';
+ skip 'send_cmd4 not defined for arch', 1;
$recv = PublicInbox::Syscall->can('recv_cmd4') or
- skip 'recv_cmd4 not defined for arch';
+ skip 'recv_cmd4 not defined for arch', 1;
$do_test->(SOCK_STREAM, 0, 'PP Linux stream');
$do_test->(SOCK_SEQPACKET, 0, 'PP Linux seqpacket');
}
is($p->ep_add($r, EPOLLIN), 0, 're-add');
SKIP: {
$cls =~ m!::(?:DSPoll|Select)\z! or
- skip 'EBADF test for select|poll only';
+ skip 'EBADF test for select|poll only', 1;
my $old_fd = fileno($r);
close $r;
my @w;
# using socket activation:
my ($defer_accept_val, $accf_arg, $TCP_DEFER_ACCEPT);
SKIP: {
- skip 'TCP_DEFER_ACCEPT is Linux-only' if $^O ne 'linux';
+ skip 'TCP_DEFER_ACCEPT is Linux-only', 1 if $^O ne 'linux';
$TCP_DEFER_ACCEPT = eval { Socket::TCP_DEFER_ACCEPT() } // 9;
setsockopt($sock, IPPROTO_TCP, $TCP_DEFER_ACCEPT, 5);
my $x = getsockopt($sock, IPPROTO_TCP, $TCP_DEFER_ACCEPT);
$ok = $x;
last;
}
- skip 'pigz || gzip do not support --rsyncable' if !$ok;
+ skip 'pigz || gzip do not support --rsyncable', 1 if !$ok;
lei_ok qw(convert --rsyncable), "mboxrd:$d/qp.gz",
'-o', "mboxcl2:$d/qp2.gz";
undef $fh; # necessary to make IO::Uncompress::Gunzip happy
SKIP: {
skip 'only testing open files on Linux', 1 if $^O ne 'linux';
my $d = "/proc/$pid/fd";
- skip "no $d on Linux" unless -d $d;
+ skip "no $d on Linux", 1 unless -d $d;
my @before = sort(glob("$d/*"));
my $addr = pack_sockaddr_un($sock);
open my $null, '<', '/dev/null' or BAIL_OUT "/dev/null: $!";
use PublicInbox::IO qw(write_file);
my $inboxdir = $ENV{GIANT_INBOX_DIR};
SKIP: {
- $inboxdir // skip 'GIANT_INBOX_DIR unset to test large results';
+ $inboxdir // skip 'GIANT_INBOX_DIR unset to test large results', 1;
require PublicInbox::Inbox;
my $ibx = PublicInbox::Inbox->new({
name => 'unconfigured-test',