Exemple #1
0
    def test_acquire_locks_all_instances(self):
        lock1 = PTLock(self.__dummy_lock_id)
        lock2 = PTLock(self.__dummy_lock_id)

        lock1.acquire()
        for lock in (lock1, lock2):
            self.assertTrue(lock.is_locked())
        lock1.release()
Exemple #2
0
    def test_is_locked_method(self):
        lock1 = PTLock(self.__dummy_lock_id)
        lock2 = PTLock(self.__dummy_lock_id)

        lock1.acquire()
        for lock in (lock1, lock2):
            self.assertTrue(lock.is_locked())

        lock1.release()
        for lock in (lock1, lock2):
            self.assertFalse(lock.is_locked())
Exemple #3
0
    def test_acquire_locks_thread_until_unlocked(self):
        def acquire_lock(_lock: PTLock):
            _lock.acquire()

        lock = PTLock(self.__dummy_lock_id)
        lock.acquire()

        lock2 = PTLock(self.__dummy_lock_id)
        thread = Thread(target=acquire_lock, args=[lock2])
        thread.start()

        self.assertTrue(thread.is_alive())
        lock.release()
        thread.join()
        self.assertFalse(thread.is_alive())
Exemple #4
0
 def acquire_lock(_lock: PTLock):
     _lock.acquire()
Exemple #5
0
    def test_release_a_locked_lock_by_other_object_fails(self):
        lock1 = PTLock(self.__dummy_lock_id)
        self.assertTrue(lock1.acquire())

        lock2 = PTLock(self.__dummy_lock_id)
        self.assertFalse(lock2.release())
Exemple #6
0
 def test_release_a_locked_lock_by_same_object_returns_true(self):
     lock = PTLock(self.__dummy_lock_id)
     self.assertTrue(lock.acquire())
     self.assertTrue(lock.release())
Exemple #7
0
 def test_acquire_an_already_acquired_lock_by_same_object_fails(self):
     lock = PTLock(self.__dummy_lock_id)
     self.assertTrue(lock.acquire())
     self.assertFalse(lock.acquire())
Exemple #8
0
 def test_acquire_success(self):
     lock = PTLock(self.__dummy_lock_id)
     self.assertTrue(lock.acquire())