def test_multiproc1(self): l = Lock(self.dir, "id1") l.acquire() qs2m = Queue() qm2s = Queue() p = Process(target=lock_getter1, args=(self.dir, "id1", qs2m, qm2s)) p.start() r = qs2m.get() self.assertFalse(r, "Slave process was able to get lock!") l.release() d = qs2m.get() got_lock = l.acquire_if_available() self.assertFalse(got_lock) qm2s.put(True) l.acquire() l.release() l.cleanup()
def test_sequential_locking(self): l = Lock(self.dir, "id1") self.assertFalse(l.is_locked()) l.acquire() self.assertTrue(l.is_locked()) l.release() self.assertFalse(l.is_locked()) got_lock = l.acquire_if_available() self.assertTrue(got_lock) got_exception = False try: l.acquire() except LockError: got_exception = True self.assertTrue(got_exception) l.release() l.cleanup() self.assertFalse(os.path.exists(l.path))