From 171ba35f2693142e826df3d39e970df586d980b2 Mon Sep 17 00:00:00 2001 From: rdb Date: Tue, 4 Sep 2018 11:47:27 +0200 Subject: [PATCH] tests: add some simple smoke tests for Mutex and ReMutex --- tests/pipeline/test_mutex.py | 54 ++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/pipeline/test_mutex.py diff --git a/tests/pipeline/test_mutex.py b/tests/pipeline/test_mutex.py new file mode 100644 index 0000000000..e930e90e02 --- /dev/null +++ b/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() +