about summary refs log tree commit diff
path: root/src/libstd/rt
diff options
context:
space:
mode:
authorklutzy <klutzytheklutzy@gmail.com>2013-10-05 06:45:08 +0900
committerklutzy <klutzytheklutzy@gmail.com>2013-10-05 07:37:19 +0900
commitade57d9f5827f0753cd0acee025f830a5256a78a (patch)
treef5b839d87105193d8f8f2eb010f66b0f5d8ecec2 /src/libstd/rt
parent8aadcd4851d90adfb32da6ba8da3e7e29d97c28e (diff)
downloadrust-ade57d9f5827f0753cd0acee025f830a5256a78a.tar.gz
rust-ade57d9f5827f0753cd0acee025f830a5256a78a.zip
rt::io::net::tcp: Fix eof_twice tests on Win32
cc #8811
Diffstat (limited to 'src/libstd/rt')
-rw-r--r--src/libstd/rt/io/net/tcp.rs26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/libstd/rt/io/net/tcp.rs b/src/libstd/rt/io/net/tcp.rs
index ff2802c75b0..3b894b9d331 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 {