Blame t/12port-fallback.t

Packit Service 64bc36
#!/usr/bin/perl
Packit Service 64bc36
Packit Service 64bc36
use strict;
Packit Service 64bc36
use warnings;
Packit Service 64bc36
Packit Service 64bc36
use Test::More;
Packit Service 64bc36
Packit Service 64bc36
use IO::Socket::IP;
Packit Service 64bc36
use Socket 1.95 qw(
Packit Service 64bc36
   PF_INET SOCK_STREAM IPPROTO_TCP pack_sockaddr_in INADDR_ANY
Packit Service 64bc36
   AI_PASSIVE
Packit Service 64bc36
);
Packit Service 64bc36
Packit Service 64bc36
my $AI_ADDRCONFIG = eval { Socket::AI_ADDRCONFIG() } || 0;
Packit Service 64bc36
Packit Service 64bc36
my @gai_args;
Packit Service 64bc36
my @gai_rets;
Packit Service 64bc36
Packit Service 64bc36
no strict 'refs';
Packit Service 64bc36
no warnings 'redefine';
Packit Service 64bc36
Packit Service 64bc36
*{"IO::Socket::IP::getaddrinfo"} = sub {
Packit Service 64bc36
   push @gai_args, [ @_ ];
Packit Service 64bc36
   return @{ shift @gai_rets };
Packit Service 64bc36
};
Packit Service 64bc36
Packit Service 64bc36
@gai_rets = (
Packit Service 64bc36
   [ "Service unknown" ],
Packit Service 64bc36
   [ "", {
Packit Service 64bc36
         family   => PF_INET,
Packit Service 64bc36
         socktype => SOCK_STREAM,
Packit Service 64bc36
         protocol => IPPROTO_TCP,
Packit Service 64bc36
         addr     => pack_sockaddr_in( 80, INADDR_ANY )
Packit Service 64bc36
      } ],
Packit Service 64bc36
);
Packit Service 64bc36
Packit Service 64bc36
IO::Socket::IP->new( LocalPort => "zyxxyblarg(80)" );
Packit Service 64bc36
Packit Service 64bc36
is_deeply( \@gai_args,
Packit Service 64bc36
           [ 
Packit Service 64bc36
              [ undef, "zyxxyblarg", { flags => AI_PASSIVE|$AI_ADDRCONFIG, socktype => SOCK_STREAM, protocol => IPPROTO_TCP } ],
Packit Service 64bc36
              [ undef, "80",         { flags => AI_PASSIVE|$AI_ADDRCONFIG, socktype => SOCK_STREAM, protocol => IPPROTO_TCP } ],
Packit Service 64bc36
           ],
Packit Service 64bc36
           '@gai_args for LocalPort => "zyxxyblarg(80)"' );
Packit Service 64bc36
Packit Service 64bc36
done_testing;