ext/Socket/Socket.xs Socket extension external subroutines
ext/Socket/t/getaddrinfo.t See if Socket::getaddrinfo works
ext/Socket/t/getnameinfo.t See if Socket::getnameinfo works
+ext/Socket/t/ipv6_mreq.t See if (un)pack_ipv6_mreq work
ext/Socket/t/socketpair.t See if socketpair works
ext/Socket/t/Socket.t See if Socket works
ext/Sys-Hostname/Hostname.pm Sys::Hostname extension Perl module
--- /dev/null
+use strict;
+use warnings;
+use Test::More;
+
+use Socket qw(
+ pack_ipv6_mreq unpack_ipv6_mreq
+);
+
+# Check that pack/unpack_ipv6_mreq either croak with "Not implemented", or
+# roundtrip as identity
+
+my $packed;
+eval {
+ $packed = pack_ipv6_mreq "ANADDRESSIN16CHR", 123;
+};
+if( !defined $packed ) {
+ plan skip_all => "No pack_ipv6_mreq" if $@ =~ m/ not implemented /;
+ die $@;
+}
+
+plan tests => 2;
+
+my @unpacked = unpack_ipv6_mreq $packed;
+
+is( $unpacked[0], "ANADDRESSIN16CHR", 'unpack_ipv6_mreq multiaddr' );
+is( $unpacked[1], 123, 'unpack_ipv6_mreq ifindex' );