std: Delete rt::test
This module contains many M:N specific concepts. This will no longer be available with libgreen, and most functions aren't really that necessary today anyway. New testing primitives will be introduced as they become available for 1:1 and M:N. A new io::test module is introduced with the new ip4/ip6 address helpers to continue usage in io tests.
This commit is contained in:
@@ -150,55 +150,47 @@ impl Acceptor<UnixStream> for UnixAcceptor {
|
||||
mod tests {
|
||||
use prelude::*;
|
||||
use super::*;
|
||||
use rt::test::*;
|
||||
use io::*;
|
||||
|
||||
fn smalltest(server: proc(UnixStream), client: proc(UnixStream)) {
|
||||
do run_in_mt_newsched_task {
|
||||
let path1 = next_test_unix();
|
||||
let path2 = path1.clone();
|
||||
let (client, server) = (client, server);
|
||||
let (port, chan) = Chan::new();
|
||||
|
||||
do spawntask {
|
||||
let mut acceptor = UnixListener::bind(&path1).listen();
|
||||
chan.send(());
|
||||
server(acceptor.accept().unwrap());
|
||||
}
|
||||
let path1 = next_test_unix();
|
||||
let path2 = path1.clone();
|
||||
let (port, chan) = oneshot();
|
||||
|
||||
do spawn {
|
||||
port.recv();
|
||||
client(UnixStream::connect(&path2).unwrap());
|
||||
}
|
||||
|
||||
let mut acceptor = UnixListener::bind(&path1).listen();
|
||||
chan.send(());
|
||||
server(acceptor.accept().unwrap());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn bind_error() {
|
||||
do run_in_mt_newsched_task {
|
||||
let mut called = false;
|
||||
io_error::cond.trap(|e| {
|
||||
assert!(e.kind == PermissionDenied);
|
||||
called = true;
|
||||
}).inside(|| {
|
||||
let listener = UnixListener::bind(&("path/to/nowhere"));
|
||||
assert!(listener.is_none());
|
||||
});
|
||||
assert!(called);
|
||||
}
|
||||
let mut called = false;
|
||||
io_error::cond.trap(|e| {
|
||||
assert!(e.kind == PermissionDenied);
|
||||
called = true;
|
||||
}).inside(|| {
|
||||
let listener = UnixListener::bind(&("path/to/nowhere"));
|
||||
assert!(listener.is_none());
|
||||
});
|
||||
assert!(called);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn connect_error() {
|
||||
do run_in_mt_newsched_task {
|
||||
let mut called = false;
|
||||
io_error::cond.trap(|e| {
|
||||
assert_eq!(e.kind, FileNotFound);
|
||||
called = true;
|
||||
}).inside(|| {
|
||||
let stream = UnixStream::connect(&("path/to/nowhere"));
|
||||
assert!(stream.is_none());
|
||||
});
|
||||
assert!(called);
|
||||
}
|
||||
let mut called = false;
|
||||
io_error::cond.trap(|e| {
|
||||
assert_eq!(e.kind, OtherIoError);
|
||||
called = true;
|
||||
}).inside(|| {
|
||||
let stream = UnixStream::connect(&("path/to/nowhere"));
|
||||
assert!(stream.is_none());
|
||||
});
|
||||
assert!(called);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -244,37 +236,33 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn accept_lots() {
|
||||
do run_in_mt_newsched_task {
|
||||
let times = 10;
|
||||
let path1 = next_test_unix();
|
||||
let path2 = path1.clone();
|
||||
let (port, chan) = Chan::new();
|
||||
|
||||
do spawntask {
|
||||
let mut acceptor = UnixListener::bind(&path1).listen();
|
||||
chan.send(());
|
||||
times.times(|| {
|
||||
let mut client = acceptor.accept();
|
||||
let mut buf = [0];
|
||||
client.read(buf);
|
||||
assert_eq!(buf[0], 100);
|
||||
})
|
||||
}
|
||||
let times = 10;
|
||||
let path1 = next_test_unix();
|
||||
let path2 = path1.clone();
|
||||
let (port, chan) = oneshot();
|
||||
|
||||
do spawn {
|
||||
port.recv();
|
||||
times.times(|| {
|
||||
let mut stream = UnixStream::connect(&path2);
|
||||
stream.write([100]);
|
||||
})
|
||||
}
|
||||
|
||||
let mut acceptor = UnixListener::bind(&path1).listen();
|
||||
chan.send(());
|
||||
times.times(|| {
|
||||
let mut client = acceptor.accept();
|
||||
let mut buf = [0];
|
||||
client.read(buf);
|
||||
assert_eq!(buf[0], 100);
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn path_exists() {
|
||||
do run_in_mt_newsched_task {
|
||||
let path = next_test_unix();
|
||||
let _acceptor = UnixListener::bind(&path).listen();
|
||||
assert!(path.exists());
|
||||
}
|
||||
let path = next_test_unix();
|
||||
let _acceptor = UnixListener::bind(&path).listen();
|
||||
assert!(path.exists());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user