From e27aa02b637769bf2276f7915bcaceba353e4a2e Mon Sep 17 00:00:00 2001 From: "Paul \\\"LeoNerd\\\" Evans" Date: Thu, 20 Oct 2011 12:30:51 +0100 Subject: [PATCH] Add unit tests for Socket::{pack,unpack}_ipv6_mreq TonyC: add new ipv6_mreq.t test script to MANIFEST --- MANIFEST | 1 + ext/Socket/t/ipv6_mreq.t | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 ext/Socket/t/ipv6_mreq.t diff --git a/MANIFEST b/MANIFEST index 6a10d3a..07386e3 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3811,6 +3811,7 @@ ext/Socket/Socket.pm Socket extension Perl module 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 diff --git a/ext/Socket/t/ipv6_mreq.t b/ext/Socket/t/ipv6_mreq.t new file mode 100644 index 0000000..43fb8f8 --- /dev/null +++ b/ext/Socket/t/ipv6_mreq.t @@ -0,0 +1,26 @@ +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' ); -- 2.7.4