From 75d92dbabe5bab3a1ca85c305a3773bca2e38145 Mon Sep 17 00:00:00 2001 From: Huon Wilson Date: Thu, 13 Feb 2014 19:29:13 +1100 Subject: [PATCH] std: add tests for the _noguard lock/signal/wait methods on Mutex. --- src/libstd/unstable/mutex.rs | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/src/libstd/unstable/mutex.rs b/src/libstd/unstable/mutex.rs index 2fa7fbeab4e2..f0e76de789d9 100644 --- a/src/libstd/unstable/mutex.rs +++ b/src/libstd/unstable/mutex.rs @@ -459,7 +459,7 @@ mod test { use rt::thread::Thread; #[test] - fn somke_lock() { + fn smoke_lock() { static mut lock: Mutex = MUTEX_INIT; unsafe { let _guard = lock.lock(); @@ -467,7 +467,7 @@ mod test { } #[test] - fn somke_cond() { + fn smoke_cond() { static mut lock: Mutex = MUTEX_INIT; unsafe { let mut guard = lock.lock(); @@ -482,6 +482,32 @@ mod test { } } + #[test] + fn smoke_lock_noguard() { + static mut lock: Mutex = MUTEX_INIT; + unsafe { + lock.lock_noguard(); + lock.unlock_noguard(); + } + } + + #[test] + fn smoke_cond_noguard() { + static mut lock: Mutex = MUTEX_INIT; + unsafe { + lock.lock_noguard(); + let t = Thread::start(proc() { + lock.lock_noguard(); + lock.signal_noguard(); + lock.unlock_noguard(); + }); + lock.wait_noguard(); + lock.unlock_noguard(); + + t.join(); + } + } + #[test] fn destroy_immediately() { unsafe {