diff options
| author | Tyler Julian <tjulian@uber.com> | 2017-01-10 22:06:17 -0800 |
|---|---|---|
| committer | Tyler Julian <tjulian@uber.com> | 2017-01-10 22:06:17 -0800 |
| commit | 30380137f87f1098c0ca6e33bafd9c78dd19c0a8 (patch) | |
| tree | fd451882735886d1c53050206e34723777eec45d /src/libstd/net | |
| parent | 0500fbf6ba83b9a6634a5e0580963b44683b44c6 (diff) | |
| download | rust-30380137f87f1098c0ca6e33bafd9c78dd19c0a8.tar.gz rust-30380137f87f1098c0ca6e33bafd9c78dd19c0a8.zip | |
std/net/udp: Improve set_nonblocking test
Diffstat (limited to 'src/libstd/net')
| -rw-r--r-- | src/libstd/net/udp.rs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/libstd/net/udp.rs b/src/libstd/net/udp.rs index f8a5ec0b379..a9a19aee5d1 100644 --- a/src/libstd/net/udp.rs +++ b/src/libstd/net/udp.rs @@ -883,11 +883,23 @@ mod tests { #[test] fn set_nonblocking() { - let addr = next_test_ip4(); + each_ip(&mut |addr, _| { + let socket = t!(UdpSocket::bind(&addr)); - let stream = t!(UdpSocket::bind(&addr)); + t!(socket.set_nonblocking(true)); + t!(socket.set_nonblocking(false)); + + t!(socket.connect(addr)); - t!(stream.set_nonblocking(true)); - t!(stream.set_nonblocking(false)); + t!(socket.set_nonblocking(false)); + t!(socket.set_nonblocking(true)); + + let mut buf = [0]; + match socket.recv(&mut buf) { + Ok(_) => panic!("expected error"), + Err(ref e) if e.kind() == ErrorKind::WouldBlock => {} + Err(e) => panic!("unexpected error {}", e), + } + }) } } |
