about summary refs log tree commit homepage
path: root/lib/PublicInbox/TestCommon.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-09-12 12:25:23 +0000
committerEric Wong <e@80x24.org>2023-09-12 20:57:47 +0000
commit193783ca8247489877c1629b7685bae66ddb80d5 (patch)
treeb7739f5df08b4c1ebe5cfece295dfe36cdd8f460 /lib/PublicInbox/TestCommon.pm
parent2026c916d3d71fd751c144e0609bc29f2dcb256b (diff)
downloadpublic-inbox-193783ca8247489877c1629b7685bae66ddb80d5.tar.gz
IO::Socket::IP is bundled with Perl 5.24+ so it's more likely
to be available than IO::Socket::INET6.
Diffstat (limited to 'lib/PublicInbox/TestCommon.pm')
-rw-r--r--lib/PublicInbox/TestCommon.pm8
1 files 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')