Commit | Line | Data |
---|---|---|
8bb05de3 | 1 | use v5.6.1; |
27dd37a3 PE |
2 | use strict; |
3 | use warnings; | |
17673bf5 | 4 | use Test::More tests => 13; |
27dd37a3 | 5 | |
c2654555 | 6 | use Socket qw(:addrinfo AF_INET pack_sockaddr_in inet_aton); |
27dd37a3 PE |
7 | |
8 | my ( $err, $host, $service ); | |
9 | ||
10 | ( $err, $host, $service ) = getnameinfo( pack_sockaddr_in( 80, inet_aton( "127.0.0.1" ) ), NI_NUMERICHOST|NI_NUMERICSERV ); | |
11 | cmp_ok( $err, "==", 0, '$err == 0 for {family=AF_INET,port=80,sinaddr=127.0.0.1}/NI_NUMERICHOST|NI_NUMERICSERV' ); | |
12 | cmp_ok( $err, "eq", "", '$err eq "" for {family=AF_INET,port=80,sinaddr=127.0.0.1}/NI_NUMERICHOST|NI_NUMERICSERV' ); | |
13 | ||
14 | is( $host, "127.0.0.1", '$host is 127.0.0.1 for NH/NS' ); | |
15 | is( $service, "80", '$service is 80 for NH/NS' ); | |
16 | ||
c2654555 CBW |
17 | ( $err, $host, $service ) = getnameinfo( pack_sockaddr_in( 80, inet_aton( "127.0.0.1" ) ), NI_NUMERICHOST|NI_NUMERICSERV, NIx_NOHOST ); |
18 | is( $host, undef, '$host is undef for NIx_NOHOST' ); | |
19 | is( $service, "80", '$service is 80 for NS, NIx_NOHOST' ); | |
20 | ||
21 | ( $err, $host, $service ) = getnameinfo( pack_sockaddr_in( 80, inet_aton( "127.0.0.1" ) ), NI_NUMERICHOST|NI_NUMERICSERV, NIx_NOSERV ); | |
665a0623 RS |
22 | is( $host, "127.0.0.1", '$host is 127.0.0.1 for NIx_NOSERV' ); |
23 | is( $service, undef, '$service is undef for NS, NIx_NOSERV' ); | |
c2654555 | 24 | |
27dd37a3 PE |
25 | ( $err, $host, $service ) = getnameinfo( pack_sockaddr_in( 80, inet_aton( "127.0.0.1" ) ), NI_NUMERICSERV ); |
26 | cmp_ok( $err, "==", 0, '$err == 0 for {family=AF_INET,port=80,sinaddr=127.0.0.1}/NI_NUMERICSERV' ); | |
27 | ||
36998252 JH |
28 | # We can't meaningfully compare '$host' with anything specific, all we can be |
29 | # sure is it's not empty | |
30 | ok( length $host, '$host is nonzero length for NS' ); | |
27dd37a3 | 31 | |
8fad3ae2 | 32 | ( $err, $host, $service ) = getnameinfo( pack_sockaddr_in( 80, inet_aton( "127.0.0.1" ) ), NI_NUMERICHOST | NI_NUMERICSERV ); |
36998252 | 33 | cmp_ok( $err, "==", 0, '$err == 0 for {family=AF_INET,port=80,sinaddr=127.0.0.1}/NI_NUMERICHOST' ); |
27dd37a3 | 34 | |
36998252 | 35 | ok( length $service, '$service is nonzero length for NH' ); |
17673bf5 CBW |
36 | |
37 | # RT79557 | |
38 | pack_sockaddr_in( 80, inet_aton( "127.0.0.1" ) ) =~ m/^(.*)$/s; | |
39 | ( $err, $host, $service ) = getnameinfo( $1, NI_NUMERICHOST|NI_NUMERICSERV ); | |
40 | cmp_ok( $err, "==", 0, '$err == 0 for $1' ) or diag( '$err was: ' . $err ); |