diff options
| author | Luqman Aden <me@luqman.ca> | 2013-07-26 05:02:53 -0400 |
|---|---|---|
| committer | Luqman Aden <me@luqman.ca> | 2013-07-26 05:02:53 -0400 |
| commit | df67942dccc33379051e66f075615e579f3bdb49 (patch) | |
| tree | 5d441f9dbcc95bcd03ef4f6647d8cc7878307ee0 /src/libstd/rt | |
| parent | 037bf3757cf54e38544c494657ac88bc002b945c (diff) | |
| download | rust-df67942dccc33379051e66f075615e579f3bdb49.tar.gz rust-df67942dccc33379051e66f075615e579f3bdb49.zip | |
libstd: Tests for {peer, socket}_name.
Diffstat (limited to 'src/libstd/rt')
| -rw-r--r-- | src/libstd/rt/io/net/tcp.rs | 57 | ||||
| -rw-r--r-- | src/libstd/rt/io/net/udp.rs | 29 |
2 files changed, 86 insertions, 0 deletions
diff --git a/src/libstd/rt/io/net/tcp.rs b/src/libstd/rt/io/net/tcp.rs index 0107d30519e..c997373bf9d 100644 --- a/src/libstd/rt/io/net/tcp.rs +++ b/src/libstd/rt/io/net/tcp.rs @@ -568,4 +568,61 @@ mod test { } } + #[cfg(test)] + fn socket_name(addr: IpAddr) { + do run_in_newsched_task { + do spawntask_immediately { + let listener = TcpListener::bind(addr); + + assert!(listener.is_some()); + let mut listener = listener.unwrap(); + + // Make sure socket_name gives + // us the socket we binded to. + let so_name = listener.socket_name(); + assert!(so_name.is_some()); + assert_eq!(addr, so_name.unwrap()); + + } + } + } + + #[cfg(test)] + fn peer_name(addr: IpAddr) { + do run_in_newsched_task { + do spawntask_immediately { + let mut listener = TcpListener::bind(addr); + + listener.accept(); + } + + do spawntask_immediately { + let stream = TcpStream::connect(addr); + + assert!(stream.is_some()); + let mut stream = stream.unwrap(); + + // Make sure peer_name gives us the + // address/port of the peer we've + // connected to. + let peer_name = stream.peer_name(); + assert!(peer_name.is_some()); + assert_eq!(addr, peer_name.unwrap()); + } + } + } + + #[test] + fn socket_and_peer_name_ip4() { + peer_name(next_test_ip4()); + socket_name(next_test_ip4()); + } + + #[test] + fn socket_and_peer_name_ip6() { + // XXX: peer name is not consistent + //peer_name(next_test_ip6()); + socket_name(next_test_ip6()); + } + } diff --git a/src/libstd/rt/io/net/udp.rs b/src/libstd/rt/io/net/udp.rs index d78adbbbe4d..8e654de47f0 100644 --- a/src/libstd/rt/io/net/udp.rs +++ b/src/libstd/rt/io/net/udp.rs @@ -263,4 +263,33 @@ mod test { } } } + + #[cfg(test)] + fn socket_name(addr: IpAddr) { + do run_in_newsched_task { + do spawntask_immediately { + let server = UdpSocket::bind(addr); + + assert!(server.is_some()); + let mut server = server.unwrap(); + + // Make sure socket_name gives + // us the socket we binded to. + let so_name = server.socket_name(); + assert!(so_name.is_some()); + assert_eq!(addr, so_name.unwrap()); + + } + } + } + + #[test] + fn socket_name_ip4() { + socket_name(next_test_ip4()); + } + + #[test] + fn socket_name_ip6() { + socket_name(next_test_ip6()); + } } |
