mod tests {
use prelude::v1::*;
- use comm::channel;
use io::fs::PathExtensions;
use io::{EndOfFile, TimedOut, ShortWrite, IoError, ConnectionReset};
- use io::{NotConnected, BrokenPipe, OtherIoError, FileNotFound, InvalidInput};
+ use io::{NotConnected, BrokenPipe, FileNotFound, InvalidInput, OtherIoError};
use io::{PermissionDenied, Acceptor, Listener};
use io::test::*;
use super::*;
+ use sync::mpsc::channel;
use thread::Thread;
use time::Duration;
let (tx2, rx2) = channel();
let _t = Thread::spawn(move|| {
let mut s2 = s2;
- rx1.recv();
+ rx1.recv().unwrap();
debug!("writer writing");
s2.write(&[1]).unwrap();
debug!("writer done");
- tx2.send(());
+ tx2.send(()).unwrap();
});
- tx1.send(());
+ tx1.send(()).unwrap();
let mut buf = [0, 0];
debug!("reader reading");
assert_eq!(s1.read(&mut buf), Ok(1));
debug!("reader done");
- rx2.recv();
+ rx2.recv().unwrap();
}
#[test]
let _t = Thread::spawn(move|| {
let mut s = UnixStream::connect(&addr);
s.write(&[1]).unwrap();
- rx.recv();
+ rx.recv().unwrap();
s.write(&[2]).unwrap();
- rx.recv();
+ rx.recv().unwrap();
});
let mut s1 = acceptor.accept().unwrap();
let mut s2 = s2;
let mut buf = [0, 0];
s2.read(&mut buf).unwrap();
- tx2.send(());
- done.send(());
+ tx2.send(()).unwrap();
+ done.send(()).unwrap();
});
let mut buf = [0, 0];
s1.read(&mut buf).unwrap();
- tx1.send(());
+ tx1.send(()).unwrap();
- rx.recv();
+ rx.recv().unwrap();
}
#[test]
let _t = Thread::spawn(move|| {
let mut s2 = s2;
s2.write(&[1]).unwrap();
- tx.send(());
+ tx.send(()).unwrap();
});
s1.write(&[2]).unwrap();
- rx.recv();
+ rx.recv().unwrap();
}
#[cfg(not(windows))]
let (tx, rx) = channel();
let addr2 = addr.clone();
let _t = Thread::spawn(move|| {
- tx.send(UnixStream::connect(&addr2).unwrap());
+ tx.send(UnixStream::connect(&addr2).unwrap()).unwrap();
});
- let l = rx.recv();
+ let l = rx.recv().unwrap();
for i in range(0u, 1001) {
match a.accept() {
Ok(..) => break,
Thread::spawn(move|| {
let mut a = a;
let _s = a.accept().unwrap();
- let _ = rx.recv_opt();
+ let _ = rx.recv();
}).detach();
let mut b = [0];
Thread::spawn(move|| {
let mut a = a;
let _s = a.accept().unwrap();
- let _ = rx.recv_opt();
+ let _ = rx.recv();
}).detach();
let mut s = UnixStream::connect(&addr).unwrap();
let _t = Thread::spawn(move|| {
let mut s2 = s2;
assert!(s2.read(&mut [0]).is_err());
- tx.send(());
+ tx.send(()).unwrap();
});
// this should wake up the child task
s.close_read().unwrap();
// this test will never finish if the child doesn't wake up
- rx.recv();
+ rx.recv().unwrap();
}
#[test]
let (tx, rx) = channel::<()>();
Thread::spawn(move|| {
let mut s = UnixStream::connect(&addr).unwrap();
- rx.recv();
+ rx.recv().unwrap();
assert!(s.write(&[0]).is_ok());
- let _ = rx.recv_opt();
+ let _ = rx.recv();
}).detach();
let mut s = a.accept().unwrap();
assert_eq!(s.write(&[0]).err().unwrap().kind, TimedOut);
}
- tx.send(());
+ tx.send(()).unwrap();
s.set_timeout(None);
assert_eq!(s.read(&mut [0, 0]), Ok(1));
}
let (tx, rx) = channel::<()>();
Thread::spawn(move|| {
let mut s = UnixStream::connect(&addr).unwrap();
- rx.recv();
+ rx.recv().unwrap();
let mut amt = 0;
while amt < 100 * 128 * 1024 {
match s.read(&mut [0;128 * 1024]) {
Err(e) => panic!("{}", e),
}
}
- let _ = rx.recv_opt();
+ let _ = rx.recv();
}).detach();
let mut s = a.accept().unwrap();
assert_eq!(s.read(&mut [0]).err().unwrap().kind, TimedOut);
assert_eq!(s.read(&mut [0]).err().unwrap().kind, TimedOut);
- tx.send(());
+ tx.send(()).unwrap();
for _ in range(0u, 100) {
assert!(s.write(&[0;128 * 1024]).is_ok());
}
let (tx, rx) = channel::<()>();
Thread::spawn(move|| {
let mut s = UnixStream::connect(&addr).unwrap();
- rx.recv();
+ rx.recv().unwrap();
assert!(s.write(&[0]).is_ok());
- let _ = rx.recv_opt();
+ let _ = rx.recv();
}).detach();
let mut s = a.accept().unwrap();
if i == 1000 { panic!("should have filled up?!"); }
}
- tx.send(());
+ tx.send(()).unwrap();
assert!(s.read(&mut [0]).is_ok());
}
let (tx, rx) = channel::<()>();
Thread::spawn(move|| {
let mut s = UnixStream::connect(&addr).unwrap();
- rx.recv();
+ rx.recv().unwrap();
assert!(s.write(&[0]).is_ok());
- let _ = rx.recv_opt();
+ let _ = rx.recv();
}).detach();
let mut s = a.accept().unwrap();
let _t = Thread::spawn(move|| {
let mut s2 = s2;
assert!(s2.read(&mut [0]).is_ok());
- tx2.send(());
+ tx2.send(()).unwrap();
});
s.set_read_timeout(Some(20));
assert_eq!(s.read(&mut [0]).err().unwrap().kind, TimedOut);
- tx.send(());
+ tx.send(()).unwrap();
- rx2.recv();
+ rx2.recv().unwrap();
}
#[cfg(not(windows))]
let (tx, rx) = channel();
let tx2 = tx.clone();
- let _t = Thread::spawn(move|| { let mut a = a; tx.send(a.accept()) });
- let _t = Thread::spawn(move|| { let mut a = a2; tx2.send(a.accept()) });
+ let _t = Thread::spawn(move|| {
+ let mut a = a;
+ tx.send(a.accept()).unwrap()
+ });
+ let _t = Thread::spawn(move|| {
+ let mut a = a2;
+ tx2.send(a.accept()).unwrap()
+ });
let addr2 = addr.clone();
let _t = Thread::spawn(move|| {
let _ = UnixStream::connect(&addr);
});
- assert!(rx.recv().is_ok());
- assert!(rx.recv().is_ok());
+ assert!(rx.recv().unwrap().is_ok());
+ assert!(rx.recv().unwrap().is_ok());
}
#[test]
let (tx, rx) = channel();
let _t = Thread::spawn(move|| {
let mut a = a;
- tx.send(a.accept());
+ tx.send(a.accept()).unwrap();
});
a2.close_accept().unwrap();
- assert_eq!(rx.recv().err().unwrap().kind, EndOfFile);
+ assert_eq!(rx.recv().unwrap().err().unwrap().kind, EndOfFile);
}
}