From ade57d9f5827f0753cd0acee025f830a5256a78a Mon Sep 17 00:00:00 2001 From: klutzy Date: Sat, 5 Oct 2013 06:45:08 +0900 Subject: [PATCH] rt::io::net::tcp: Fix eof_twice tests on Win32 cc #8811 --- src/libstd/rt/io/net/tcp.rs | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/libstd/rt/io/net/tcp.rs b/src/libstd/rt/io/net/tcp.rs index ff2802c75b0f..3b894b9d3319 100644 --- a/src/libstd/rt/io/net/tcp.rs +++ b/src/libstd/rt/io/net/tcp.rs @@ -306,7 +306,6 @@ mod test { } #[test] - #[ignore(cfg(windows))] // FIXME #8811 fn read_eof_twice_ip4() { do run_in_mt_newsched_task { let addr = next_test_ip4(); @@ -321,8 +320,16 @@ mod test { let mut buf = [0]; let nread = stream.read(buf); assert!(nread.is_none()); - let nread = stream.read(buf); - assert!(nread.is_none()); + do read_error::cond.trap(|e| { + if cfg!(windows) { + assert_eq!(e.kind, NotConnected); + } else { + fail2!(); + } + }).inside { + let nread = stream.read(buf); + assert!(nread.is_none()); + } } do spawntask { @@ -334,7 +341,6 @@ mod test { } #[test] - #[ignore(cfg(windows))] // FIXME #8811 fn read_eof_twice_ip6() { do run_in_mt_newsched_task { let addr = next_test_ip6(); @@ -349,8 +355,16 @@ mod test { let mut buf = [0]; let nread = stream.read(buf); assert!(nread.is_none()); - let nread = stream.read(buf); - assert!(nread.is_none()); + do read_error::cond.trap(|e| { + if cfg!(windows) { + assert_eq!(e.kind, NotConnected); + } else { + fail2!(); + } + }).inside { + let nread = stream.read(buf); + assert!(nread.is_none()); + } } do spawntask {