示例#1
0
 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()
示例#2
0
 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))