]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/nntpd-tls.t
daemon: provide TCP_DEFER_ACCEPT for Perl <5.14
[public-inbox.git] / t / nntpd-tls.t
index bbcc04c0c0e063a35b1d7b018831b3d6ae9c0469..c97d179daf9d4fb13c4331b55e3b160342831cbb 100644 (file)
@@ -4,12 +4,10 @@ use strict;
 use warnings;
 use Test::More;
 use Socket qw(SOCK_STREAM IPPROTO_TCP SOL_SOCKET);
+use PublicInbox::TestCommon;
 # IO::Poll and Net::NNTP are part of the standard library, but
 # distros may split them off...
-foreach my $mod (qw(DBD::SQLite IO::Socket::SSL Net::NNTP IO::Poll)) {
-       eval "require $mod";
-       plan skip_all => "$mod missing for $0" if $@;
-}
+require_mods(qw(DBD::SQLite IO::Socket::SSL Net::NNTP IO::Poll));
 Net::NNTP->can('starttls') or
        plan skip_all => 'Net::NNTP does not support TLS';
 IO::Socket::SSL->VERSION(2.007) or
@@ -24,11 +22,10 @@ unless (-r $key && -r $cert) {
 
 use_ok 'PublicInbox::TLS';
 use_ok 'IO::Socket::SSL';
-require './t/common.perl';
 require PublicInbox::InboxWritable;
 require PublicInbox::MIME;
 require PublicInbox::SearchIdx;
-my $need_zlib;
+our $need_zlib;
 eval { require Compress::Raw::Zlib } or
        $need_zlib = 'Compress::Raw::Zlib missing';
 my $version = 2; # v2 needs newer git
@@ -177,7 +174,7 @@ for my $args (
 
        SKIP: {
                skip 'TCP_DEFER_ACCEPT is Linux-only', 2 if $^O ne 'linux';
-               my $var = Socket::TCP_DEFER_ACCEPT();
+               my $var = eval { Socket::TCP_DEFER_ACCEPT() } // 9;
                defined(my $x = getsockopt($nntps, IPPROTO_TCP, $var)) or die;
                ok(unpack('i', $x) > 0, 'TCP_DEFER_ACCEPT set on NNTPS');
                defined($x = getsockopt($starttls, IPPROTO_TCP, $var)) or die;