mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-05 03:15:07 -04:00
55 lines
931 B
Python
55 lines
931 B
Python
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()
|
|
|