Browse Source

tests: add some simple smoke tests for Mutex and ReMutex

rdb 7 years ago
parent
commit
171ba35f26
1 changed files with 54 additions and 0 deletions
  1. 54 0
      tests/pipeline/test_mutex.py

+ 54 - 0
tests/pipeline/test_mutex.py

@@ -0,0 +1,54 @@
+from panda3d.core import Mutex, ReMutex
+
+
+def test_mutex_acquire_release():
+    m = Mutex()
+    m.acquire()
+
+    # Assert that the lock is truly held now
+    assert not m.try_acquire()
+
+    # Release the lock
+    m.release()
+
+    # Make sure the lock is properly released
+    assert m.try_acquire()
+
+    # Clean up
+    m.release()
+
+
+def test_mutex_try_acquire():
+    m = Mutex()
+
+    # Trying to acquire the lock should succeed
+    assert m.try_acquire()
+
+    # Assert that the lock is truly held now
+    assert not m.try_acquire()
+
+    # Clean up
+    m.release()
+
+
+def test_remutex_acquire_release():
+    m = ReMutex()
+    m.acquire()
+    m.acquire()
+    m.release()
+    m.release()
+
+
+def test_remutex_try_acquire():
+    m = ReMutex()
+
+    # Trying to acquire the lock should succeed
+    assert m.try_acquire()
+
+    # Trying a second time should succeed
+    assert m.try_acquire()
+
+    # Clean up
+    m.release()
+    m.release()
+