IO::Socket::IP is bundled with Perl 5.24+ so it's more likely
to be available than IO::Socket::INET6.
---
lib/PublicInbox/TestCommon.pm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm
index 17057e18..b1a37ced 100644
--- a/lib/PublicInbox/TestCommon.pm
+++ b/lib/PublicInbox/TestCommon.pm
@@ -62,8 +62,12 @@ sub tcp_server () {
);
eval {
die 'IPv4-only' if $ENV{TEST_IPV4_ONLY};
- require IO::Socket::INET6;
- IO::Socket::INET6->new(%opt, LocalAddr => '[::1]')
+ my $pkg;
+ for (qw(IO::Socket::IP IO::Socket::INET6)) {
+ eval "require $_" or next;
+ $pkg = $_ and last;
+ }
+ $pkg->new(%opt, LocalAddr => '[::1]');
} || eval {
die 'IPv6-only' if $ENV{TEST_IPV6_ONLY};
IO::Socket::INET->new(%opt, LocalAddr => '127.0.0.1')