1;
}
+my %IPv6_VERSION = (
+ 'Net::NNTP' => 3.00,
+ 'Mail::IMAPClient' => 3.40,
+ 'HTTP::Tiny' => 0.042,
+);
+
sub require_mods {
my @mods = @_;
my $maybe = pop @mods if $mods[-1] =~ /\A[0-9]+\z/;
!eval{ IO::Socket::SSL->VERSION(2.007); 1 }) {
push @need, $@;
}
+ if (defined(my $v = $IPv6_VERSION{$mod})) {
+ $ENV{TEST_IPV4_ONLY} = 1 if !eval { $mod->VERSION($v) };
+ }
}
return unless @need;
my $m = join(', ', @need)." missing for $0";
use_ok 'PublicInbox::ExtSearch';
use_ok 'PublicInbox::ExtSearchIdx';
use_ok 'PublicInbox::OverIdx';
-my $sock = tcp_server();
-my $host_port = tcp_host_port($sock);
my ($home, $for_destroy) = tmpdir();
local $ENV{HOME} = $home;
mkdir "$home/.public-inbox" or BAIL_OUT $!;
SKIP: {
require_mods(qw(Net::NNTP), 1);
+ my $sock = tcp_server();
+ my $host_port = tcp_host_port($sock);
my ($out, $err) = ("$home/nntpd.out.log", "$home/nntpd.err.log");
my $cmd = [ '-nntpd', '-W0', "--stdout=$out", "--stderr=$err" ];
my $td = start_script($cmd, undef, { 3 => $sock });
# 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;
-require_mods(qw(DBD::SQLite));
+require_mods(qw(DBD::SQLite Net::NNTP));
use PublicInbox::Eml;
use Socket qw(IPPROTO_TCP TCP_NODELAY);
-use Net::NNTP;
use Sys::Hostname;
use POSIX qw(_exit);
use Digest::SHA;
}
{
- use Net::NNTP;
+ require_mods('Net::NNTP', 1);
my $err = "$inboxdir/stderr.log";
my $out = "$inboxdir/stdout.log";
my $group = 'inbox.comp.test.v2writable';