test: Fix tests.

This commit is contained in:
Patrick Walton
2013-04-26 14:04:39 -07:00
parent f30f54e9d0
commit 876483dcf4
31 changed files with 114 additions and 190 deletions
+26 -18
View File
@@ -828,18 +828,22 @@ fn test_mutex_lock() {
let m = ~Mutex();
let m2 = m.clone();
let mut sharedstate = ~0;
let ptr: *int = &*sharedstate;
do task::spawn || {
let sharedstate: &mut int =
unsafe { cast::transmute(ptr) };
access_shared(sharedstate, m2, 10);
c.send(());
{
let ptr: *int = &*sharedstate;
do task::spawn || {
let sharedstate: &mut int =
unsafe { cast::transmute(ptr) };
access_shared(sharedstate, m2, 10);
c.send(());
}
}
access_shared(sharedstate, m, 10);
let _ = p.recv();
{
access_shared(sharedstate, m, 10);
let _ = p.recv();
assert!(*sharedstate == 20);
assert!(*sharedstate == 20);
}
fn access_shared(sharedstate: &mut int, m: &Mutex, n: uint) {
for n.times {
@@ -1106,17 +1110,21 @@ fn test_rwlock_exclusion(x: ~RWlock,
let (p,c) = comm::stream();
let x2 = (*x).clone();
let mut sharedstate = ~0;
let ptr: *int = &*sharedstate;
do task::spawn || {
let sharedstate: &mut int =
unsafe { cast::transmute(ptr) };
access_shared(sharedstate, &x2, mode1, 10);
c.send(());
{
let ptr: *int = &*sharedstate;
do task::spawn || {
let sharedstate: &mut int =
unsafe { cast::transmute(ptr) };
access_shared(sharedstate, &x2, mode1, 10);
c.send(());
}
}
access_shared(sharedstate, x, mode2, 10);
let _ = p.recv();
{
access_shared(sharedstate, x, mode2, 10);
let _ = p.recv();
assert!(*sharedstate == 20);
assert!(*sharedstate == 20);
}
fn access_shared(sharedstate: &mut int, x: &RWlock, mode: RWlockMode,
n: uint) {
+2 -2
View File
@@ -1396,9 +1396,9 @@ fn impl_uv_tcp_request(ip: &str, port: int, req_str: &str,
// not set the data on the connect_req
// until its initialized
set_data_for_req(connect_req_ptr as *libc::c_void,
transmute(&client_data));
&client_data);
set_data_for_uv_handle(tcp_handle_ptr as *libc::c_void,
transmute(&client_data));
&client_data);
debug!(~"before run tcp req loop");
run(test_loop);
debug!(~"after run tcp req loop");