@@ -3,75 +3,85 @@ use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6};
3
3
use async_std:: net:: ToSocketAddrs ;
4
4
use async_std:: task;
5
5
6
- fn tsa < A : ToSocketAddrs > ( a : A ) -> Result < Vec < SocketAddr > , String > {
6
+ fn blocking_resolve < A : ToSocketAddrs > ( a : A ) -> Result < Vec < SocketAddr > , String > {
7
7
let socket_addrs = task:: block_on ( a. to_socket_addrs ( ) ) ;
8
8
match socket_addrs {
9
9
Ok ( a) => Ok ( a. collect ( ) ) ,
10
10
Err ( e) => Err ( e. to_string ( ) ) ,
11
11
}
12
12
}
13
13
14
- pub fn sa4 ( a : Ipv4Addr , p : u16 ) -> SocketAddr {
15
- SocketAddr :: V4 ( SocketAddrV4 :: new ( a, p) )
16
- }
17
-
18
- pub fn sa6 ( a : Ipv6Addr , p : u16 ) -> SocketAddr {
19
- SocketAddr :: V6 ( SocketAddrV6 :: new ( a, p, 0 , 0 ) )
20
- }
21
-
22
14
#[ test]
23
15
fn to_socket_addr_ipaddr_u16 ( ) {
24
16
let a = Ipv4Addr :: new ( 77 , 88 , 21 , 11 ) ;
25
17
let p = 12345 ;
26
18
let e = SocketAddr :: V4 ( SocketAddrV4 :: new ( a, p) ) ;
27
- assert_eq ! ( Ok ( vec![ e] ) , tsa ( ( a, p) ) ) ;
19
+ assert_eq ! ( Ok ( vec![ e] ) , blocking_resolve ( ( a, p) ) ) ;
28
20
}
29
21
30
22
#[ test]
31
23
fn to_socket_addr_str_u16 ( ) {
32
- let a = sa4 ( Ipv4Addr :: new ( 77 , 88 , 21 , 11 ) , 24352 ) ;
33
- assert_eq ! ( Ok ( vec![ a] ) , tsa ( ( "77.88.21.11" , 24352 ) ) ) ;
24
+ let a = SocketAddr :: V4 ( SocketAddrV4 :: new ( Ipv4Addr :: new ( 77 , 88 , 21 , 11 ) , 24352 ) ) ;
25
+ assert_eq ! ( Ok ( vec![ a] ) , blocking_resolve ( ( "77.88.21.11" , 24352 ) ) ) ;
34
26
35
- let a = sa6 ( Ipv6Addr :: new ( 0x2a02 , 0x6b8 , 0 , 1 , 0 , 0 , 0 , 1 ) , 53 ) ;
36
- assert_eq ! ( Ok ( vec![ a] ) , tsa( ( "2a02:6b8:0:1::1" , 53 ) ) ) ;
27
+ let a = SocketAddr :: V6 ( SocketAddrV6 :: new (
28
+ Ipv6Addr :: new ( 0x2a02 , 0x6b8 , 0 , 1 , 0 , 0 , 0 , 1 ) ,
29
+ 53 ,
30
+ 0 ,
31
+ 0 ,
32
+ ) ) ;
33
+ assert_eq ! ( Ok ( vec![ a] ) , blocking_resolve( ( "2a02:6b8:0:1::1" , 53 ) ) ) ;
37
34
38
- let a = sa4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) , 23924 ) ;
35
+ let a = SocketAddr :: V4 ( SocketAddrV4 :: new ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) , 23924 ) ) ;
39
36
#[ cfg( not( target_env = "sgx" ) ) ]
40
- assert ! ( tsa ( ( "localhost" , 23924 ) ) . unwrap( ) . contains( & a) ) ;
37
+ assert ! ( blocking_resolve ( ( "localhost" , 23924 ) ) . unwrap( ) . contains( & a) ) ;
41
38
#[ cfg( target_env = "sgx" ) ]
42
39
let _ = a;
43
40
}
44
41
45
42
#[ test]
46
43
fn to_socket_addr_str ( ) {
47
- let a = sa4 ( Ipv4Addr :: new ( 77 , 88 , 21 , 11 ) , 24352 ) ;
48
- assert_eq ! ( Ok ( vec![ a] ) , tsa ( "77.88.21.11:24352" ) ) ;
44
+ let a = SocketAddr :: V4 ( SocketAddrV4 :: new ( Ipv4Addr :: new ( 77 , 88 , 21 , 11 ) , 24352 ) ) ;
45
+ assert_eq ! ( Ok ( vec![ a] ) , blocking_resolve ( "77.88.21.11:24352" ) ) ;
49
46
50
- let a = sa6 ( Ipv6Addr :: new ( 0x2a02 , 0x6b8 , 0 , 1 , 0 , 0 , 0 , 1 ) , 53 ) ;
51
- assert_eq ! ( Ok ( vec![ a] ) , tsa( "[2a02:6b8:0:1::1]:53" ) ) ;
47
+ let a = SocketAddr :: V6 ( SocketAddrV6 :: new (
48
+ Ipv6Addr :: new ( 0x2a02 , 0x6b8 , 0 , 1 , 0 , 0 , 0 , 1 ) ,
49
+ 53 ,
50
+ 0 ,
51
+ 0 ,
52
+ ) ) ;
53
+ assert_eq ! ( Ok ( vec![ a] ) , blocking_resolve( "[2a02:6b8:0:1::1]:53" ) ) ;
52
54
53
- let a = sa4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) , 23924 ) ;
55
+ let a = SocketAddr :: V4 ( SocketAddrV4 :: new ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) , 23924 ) ) ;
54
56
#[ cfg( not( target_env = "sgx" ) ) ]
55
- assert ! ( tsa ( "localhost:23924" ) . unwrap( ) . contains( & a) ) ;
57
+ assert ! ( blocking_resolve ( "localhost:23924" ) . unwrap( ) . contains( & a) ) ;
56
58
#[ cfg( target_env = "sgx" ) ]
57
59
let _ = a;
58
60
}
59
61
60
62
#[ test]
61
63
fn to_socket_addr_string ( ) {
62
- let a = sa4 ( Ipv4Addr :: new ( 77 , 88 , 21 , 11 ) , 24352 ) ;
63
- assert_eq ! ( Ok ( vec![ a] ) , tsa( & * format!( "{}:{}" , "77.88.21.11" , "24352" ) ) ) ;
64
- assert_eq ! ( Ok ( vec![ a] ) , tsa( & format!( "{}:{}" , "77.88.21.11" , "24352" ) ) ) ;
65
- assert_eq ! ( Ok ( vec![ a] ) , tsa( format!( "{}:{}" , "77.88.21.11" , "24352" ) ) ) ;
64
+ let a = SocketAddr :: V4 ( SocketAddrV4 :: new ( Ipv4Addr :: new ( 77 , 88 , 21 , 11 ) , 24352 ) ) ;
65
+ assert_eq ! (
66
+ Ok ( vec![ a] ) ,
67
+ blocking_resolve( & * format!( "{}:{}" , "77.88.21.11" , "24352" ) )
68
+ ) ;
69
+ assert_eq ! (
70
+ Ok ( vec![ a] ) ,
71
+ blocking_resolve( & format!( "{}:{}" , "77.88.21.11" , "24352" ) )
72
+ ) ;
73
+ assert_eq ! (
74
+ Ok ( vec![ a] ) ,
75
+ blocking_resolve( format!( "{}:{}" , "77.88.21.11" , "24352" ) )
76
+ ) ;
66
77
67
- let s = format ! ( "{}:{}" , "77.88.21.11" , "24352" ) ;
68
- assert_eq ! ( Ok ( vec![ a] ) , tsa( s) ) ;
69
- // s has been moved into the tsa call
78
+ let s = "77.88.21.11:24352" ;
79
+ assert_eq ! ( Ok ( vec![ a] ) , blocking_resolve( s) ) ;
70
80
}
71
81
72
82
// FIXME: figure out why this fails on openbsd and fix it
73
83
#[ test]
74
84
#[ cfg( not( any( windows, target_os = "openbsd" ) ) ) ]
75
85
fn to_socket_addr_str_bad ( ) {
76
- assert ! ( tsa ( "1200::AB00:1234::2552:7777:1313:34300" ) . is_err( ) ) ;
86
+ assert ! ( blocking_resolve ( "1200::AB00:1234::2552:7777:1313:34300" ) . is_err( ) ) ;
77
87
}
0 commit comments