This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
f08920c437fcce962b030643e48cd1d811ebc655
[perl5.git] / cpan / Socket / t / ip_mreq.t
1 use strict;
2 use warnings;
3 use Test::More;
4
5 use Socket qw(
6     INADDR_ANY
7     pack_ip_mreq unpack_ip_mreq
8 );
9
10 # Check that pack/unpack_ip_mreq either croak with "Not implemented", or
11 # roundtrip as identity
12
13 my $packed;
14 eval {
15     $packed = pack_ip_mreq "\xe0\0\0\1", INADDR_ANY;
16 };
17 if( !defined $packed ) {
18     plan skip_all => "No pack_ip_mreq" if $@ =~ m/ not implemented /;
19     die $@;
20 }
21
22 plan tests => 3;
23
24 my @unpacked = unpack_ip_mreq $packed;
25
26 is( $unpacked[0], "\xe0\0\0\1", 'unpack_ip_mreq multiaddr' );
27 is( $unpacked[1], INADDR_ANY,   'unpack_ip_mreq interface' );
28
29 is( (unpack_ip_mreq pack_ip_mreq "\xe0\0\0\1")[1], INADDR_ANY, 'pack_ip_mreq interface defaults to INADDR_ANY' );