mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-28 20:16:58 +03:00
test: Fix tests.
This commit is contained in:
+26
-18
@@ -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
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user