From 30380137f87f1098c0ca6e33bafd9c78dd19c0a8 Mon Sep 17 00:00:00 2001 From: Tyler Julian Date: Tue, 10 Jan 2017 22:06:17 -0800 Subject: [PATCH] std/net/udp: Improve set_nonblocking test --- src/libstd/net/udp.rs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/libstd/net/udp.rs b/src/libstd/net/udp.rs index f8a5ec0b3791e..a9a19aee5d18d 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), + } + }) } }