about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libstd/unstable/mutex.rs30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/libstd/unstable/mutex.rs b/src/libstd/unstable/mutex.rs
index 2fa7fbeab4e..f0e76de789d 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();
@@ -483,6 +483,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 {
             let mut m = Mutex::new();