use POSIX qw(dup2);
use IO::Socket::INET;
our @EXPORT = qw(tmpdir tcp_server tcp_connect require_git require_mods
- run_script start_script key2sub xsys xqx eml_load);
+ run_script start_script key2sub xsys xqx eml_load tick);
sub eml_load ($) {
my ($path, $cb) = @_;
} else {
eval "require $mod";
}
- push @need, $mod if $@;
+ if ($@) {
+ push @need, $mod;
+ } elsif ($mod eq 'IO::Socket::SSL' &&
+ # old versions of IO::Socket::SSL aren't supported
+ # by libnet, at least:
+ # https://rt.cpan.org/Ticket/Display.html?id=100529
+ !eval{ IO::Socket::SSL->VERSION(2.007); 1 }) {
+ push @need, $@;
+ }
}
return unless @need;
my $m = join(', ', @need)." missing for $0";
}
$0 = join(' ', @$cmd);
if ($sub) {
+ eval { PublicInbox::DS->Reset };
_run_sub($sub, $key, \@argv);
POSIX::_exit($? >> 8);
} else {
$self->join('TERM');
}
+package PublicInbox::TestCommon::InboxWakeup;
+use strict;
+sub on_inbox_unlock { ${$_[0]}->($_[1]) }
+
1;