Skip to content

Commit 144e1c4

Browse files
author
Stjepan Glavina
committed
Move unit tests into the tests directory
1 parent 798aa19 commit 144e1c4

File tree

3 files changed

+78
-172
lines changed

3 files changed

+78
-172
lines changed

src/net/addr.rs

Lines changed: 0 additions & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -158,174 +158,3 @@ impl ToSocketAddrs for String {
158158
ToSocketAddrs::to_socket_addrs(self.as_str())
159159
}
160160
}
161-
162-
#[cfg(all(test, not(target_os = "emscripten")))]
163-
mod tests {
164-
use crate::net::*;
165-
use std::net::{IpAddr, Ipv4Addr, Ipv6Addr};
166-
167-
fn tsa<A: ToSocketAddrs>(a: A) -> Result<Vec<SocketAddr>, String> {
168-
let socket_addrs = crate::task::block_on(a.to_socket_addrs());
169-
match socket_addrs {
170-
Ok(a) => Ok(a.collect()),
171-
Err(e) => Err(e.to_string()),
172-
}
173-
}
174-
175-
pub fn sa4(a: Ipv4Addr, p: u16) -> SocketAddr {
176-
SocketAddr::V4(SocketAddrV4::new(a, p))
177-
}
178-
179-
pub fn sa6(a: Ipv6Addr, p: u16) -> SocketAddr {
180-
SocketAddr::V6(SocketAddrV6::new(a, p, 0, 0))
181-
}
182-
183-
#[test]
184-
fn to_socket_addr_ipaddr_u16() {
185-
let a = Ipv4Addr::new(77, 88, 21, 11);
186-
let p = 12345;
187-
let e = SocketAddr::V4(SocketAddrV4::new(a, p));
188-
assert_eq!(Ok(vec![e]), tsa((a, p)));
189-
}
190-
191-
#[test]
192-
fn to_socket_addr_str_u16() {
193-
let a = sa4(Ipv4Addr::new(77, 88, 21, 11), 24352);
194-
assert_eq!(Ok(vec![a]), tsa(("77.88.21.11", 24352)));
195-
196-
let a = sa6(Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, 1), 53);
197-
assert_eq!(Ok(vec![a]), tsa(("2a02:6b8:0:1::1", 53)));
198-
199-
let a = sa4(Ipv4Addr::new(127, 0, 0, 1), 23924);
200-
#[cfg(not(target_env = "sgx"))]
201-
assert!(tsa(("localhost", 23924)).unwrap().contains(&a));
202-
#[cfg(target_env = "sgx")]
203-
let _ = a;
204-
}
205-
206-
#[test]
207-
fn to_socket_addr_str() {
208-
let a = sa4(Ipv4Addr::new(77, 88, 21, 11), 24352);
209-
assert_eq!(Ok(vec![a]), tsa("77.88.21.11:24352"));
210-
211-
let a = sa6(Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, 1), 53);
212-
assert_eq!(Ok(vec![a]), tsa("[2a02:6b8:0:1::1]:53"));
213-
214-
let a = sa4(Ipv4Addr::new(127, 0, 0, 1), 23924);
215-
#[cfg(not(target_env = "sgx"))]
216-
assert!(tsa("localhost:23924").unwrap().contains(&a));
217-
#[cfg(target_env = "sgx")]
218-
let _ = a;
219-
}
220-
221-
#[test]
222-
fn to_socket_addr_string() {
223-
let a = sa4(Ipv4Addr::new(77, 88, 21, 11), 24352);
224-
assert_eq!(Ok(vec![a]), tsa(&*format!("{}:{}", "77.88.21.11", "24352")));
225-
assert_eq!(Ok(vec![a]), tsa(&format!("{}:{}", "77.88.21.11", "24352")));
226-
assert_eq!(Ok(vec![a]), tsa(format!("{}:{}", "77.88.21.11", "24352")));
227-
228-
let s = format!("{}:{}", "77.88.21.11", "24352");
229-
assert_eq!(Ok(vec![a]), tsa(s));
230-
// s has been moved into the tsa call
231-
}
232-
233-
// FIXME: figure out why this fails on openbsd and fix it
234-
#[test]
235-
#[cfg(not(any(windows, target_os = "openbsd")))]
236-
fn to_socket_addr_str_bad() {
237-
assert!(tsa("1200::AB00:1234::2552:7777:1313:34300").is_err());
238-
}
239-
240-
#[test]
241-
fn set_ip() {
242-
fn ip4(low: u8) -> Ipv4Addr {
243-
Ipv4Addr::new(77, 88, 21, low)
244-
}
245-
fn ip6(low: u16) -> Ipv6Addr {
246-
Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, low)
247-
}
248-
249-
let mut v4 = SocketAddrV4::new(ip4(11), 80);
250-
assert_eq!(v4.ip(), &ip4(11));
251-
v4.set_ip(ip4(12));
252-
assert_eq!(v4.ip(), &ip4(12));
253-
254-
let mut addr = SocketAddr::V4(v4);
255-
assert_eq!(addr.ip(), IpAddr::V4(ip4(12)));
256-
addr.set_ip(IpAddr::V4(ip4(13)));
257-
assert_eq!(addr.ip(), IpAddr::V4(ip4(13)));
258-
addr.set_ip(IpAddr::V6(ip6(14)));
259-
assert_eq!(addr.ip(), IpAddr::V6(ip6(14)));
260-
261-
let mut v6 = SocketAddrV6::new(ip6(1), 80, 0, 0);
262-
assert_eq!(v6.ip(), &ip6(1));
263-
v6.set_ip(ip6(2));
264-
assert_eq!(v6.ip(), &ip6(2));
265-
266-
let mut addr = SocketAddr::V6(v6);
267-
assert_eq!(addr.ip(), IpAddr::V6(ip6(2)));
268-
addr.set_ip(IpAddr::V6(ip6(3)));
269-
assert_eq!(addr.ip(), IpAddr::V6(ip6(3)));
270-
addr.set_ip(IpAddr::V4(ip4(4)));
271-
assert_eq!(addr.ip(), IpAddr::V4(ip4(4)));
272-
}
273-
274-
#[test]
275-
fn set_port() {
276-
let mut v4 = SocketAddrV4::new(Ipv4Addr::new(77, 88, 21, 11), 80);
277-
assert_eq!(v4.port(), 80);
278-
v4.set_port(443);
279-
assert_eq!(v4.port(), 443);
280-
281-
let mut addr = SocketAddr::V4(v4);
282-
assert_eq!(addr.port(), 443);
283-
addr.set_port(8080);
284-
assert_eq!(addr.port(), 8080);
285-
286-
let mut v6 = SocketAddrV6::new(Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, 1), 80, 0, 0);
287-
assert_eq!(v6.port(), 80);
288-
v6.set_port(443);
289-
assert_eq!(v6.port(), 443);
290-
291-
let mut addr = SocketAddr::V6(v6);
292-
assert_eq!(addr.port(), 443);
293-
addr.set_port(8080);
294-
assert_eq!(addr.port(), 8080);
295-
}
296-
297-
#[test]
298-
fn set_flowinfo() {
299-
let mut v6 = SocketAddrV6::new(Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, 1), 80, 10, 0);
300-
assert_eq!(v6.flowinfo(), 10);
301-
v6.set_flowinfo(20);
302-
assert_eq!(v6.flowinfo(), 20);
303-
}
304-
305-
#[test]
306-
fn set_scope_id() {
307-
let mut v6 = SocketAddrV6::new(Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, 1), 80, 0, 10);
308-
assert_eq!(v6.scope_id(), 10);
309-
v6.set_scope_id(20);
310-
assert_eq!(v6.scope_id(), 20);
311-
}
312-
313-
#[test]
314-
fn is_v4() {
315-
let v4 = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(77, 88, 21, 11), 80));
316-
assert!(v4.is_ipv4());
317-
assert!(!v4.is_ipv6());
318-
}
319-
320-
#[test]
321-
fn is_v6() {
322-
let v6 = SocketAddr::V6(SocketAddrV6::new(
323-
Ipv6Addr::new(0x2a02, 0x6b8, 0, 1, 0, 0, 0, 1),
324-
80,
325-
10,
326-
0,
327-
));
328-
assert!(!v6.is_ipv4());
329-
assert!(v6.is_ipv6());
330-
}
331-
}

src/net/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
//! # }) }
3030
//! ```
3131
32-
pub use self::addr::{SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs};
32+
pub use addr::{SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs};
3333
pub use tcp::{Incoming, TcpListener, TcpStream};
3434
pub use udp::UdpSocket;
3535

tests/addr.rs

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
use std::net::{Ipv4Addr, Ipv6Addr, SocketAddrV4, SocketAddrV6};
2+
3+
use async_std::net::{SocketAddr, ToSocketAddrs};
4+
use async_std::task;
5+
6+
fn tsa<A: ToSocketAddrs>(a: A) -> Result<Vec<SocketAddr>, String> {
7+
let socket_addrs = task::block_on(a.to_socket_addrs());
8+
match socket_addrs {
9+
Ok(a) => Ok(a.collect()),
10+
Err(e) => Err(e.to_string()),
11+
}
12+
}
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+
#[test]
23+
fn to_socket_addr_ipaddr_u16() {
24+
let a = Ipv4Addr::new(77, 88, 21, 11);
25+
let p = 12345;
26+
let e = SocketAddr::V4(SocketAddrV4::new(a, p));
27+
assert_eq!(Ok(vec![e]), tsa((a, p)));
28+
}
29+
30+
#[test]
31+
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)));
34+
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)));
37+
38+
let a = sa4(Ipv4Addr::new(127, 0, 0, 1), 23924);
39+
#[cfg(not(target_env = "sgx"))]
40+
assert!(tsa(("localhost", 23924)).unwrap().contains(&a));
41+
#[cfg(target_env = "sgx")]
42+
let _ = a;
43+
}
44+
45+
#[test]
46+
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"));
49+
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"));
52+
53+
let a = sa4(Ipv4Addr::new(127, 0, 0, 1), 23924);
54+
#[cfg(not(target_env = "sgx"))]
55+
assert!(tsa("localhost:23924").unwrap().contains(&a));
56+
#[cfg(target_env = "sgx")]
57+
let _ = a;
58+
}
59+
60+
#[test]
61+
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")));
66+
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
70+
}
71+
72+
// FIXME: figure out why this fails on openbsd and fix it
73+
#[test]
74+
#[cfg(not(any(windows, target_os = "openbsd")))]
75+
fn to_socket_addr_str_bad() {
76+
assert!(tsa("1200::AB00:1234::2552:7777:1313:34300").is_err());
77+
}

0 commit comments

Comments
 (0)