]> git.ipfire.org Git - thirdparty/public-inbox.git/commitdiff
tests: favor IO::Socket::IP for IPv6 listeners
authorEric Wong <e@80x24.org>
Tue, 12 Sep 2023 12:25:23 +0000 (12:25 +0000)
committerEric Wong <e@80x24.org>
Tue, 12 Sep 2023 20:57:47 +0000 (20:57 +0000)
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

index 17057e18db5bcb7c74abd8bf3af86f7d6311e259..b1a37cedc91ecea45000d2a5b4a01a14ec851763 100644 (file)
@@ -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')