MCPcopy Create free account
hub / github.com/mpi4py/mpi4py / testAcquireRelease

Method testAcquireRelease

test/test_util_sync.py:340–371  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

338 test_with()
339
340 def testAcquireRelease(self):
341 def test_acquire_release():
342 mutex = self.mutex
343 self.assertFalse(mutex.locked())
344 self.assertEqual(mutex.count(), 0)
345 self.assertRaises(RuntimeError, mutex.release)
346 mutex.acquire()
347 self.assertTrue(mutex.locked())
348 self.assertEqual(mutex.count(), 1)
349 mutex.acquire()
350 self.assertTrue(mutex.locked())
351 self.assertEqual(mutex.count(), 2)
352 mutex.acquire()
353 self.assertTrue(mutex.locked())
354 self.assertEqual(mutex.count(), 3)
355 mutex.release()
356 self.assertTrue(mutex.locked())
357 self.assertEqual(mutex.count(), 2)
358 mutex.release()
359 self.assertTrue(mutex.locked())
360 self.assertEqual(mutex.count(), 1)
361 mutex.release()
362 self.assertFalse(mutex.locked())
363 self.assertEqual(mutex.count(), 0)
364 self.assertRaises(RuntimeError, mutex.release)
365
366 for _ in range(5):
367 self.COMM.Barrier()
368 test_acquire_release()
369 for _ in range(5):
370 random_sleep()
371 test_acquire_release()
372
373 def testAcquireNonblocking(self):
374 def test_acquire_nonblocking():

Callers

nothing calls this directly

Calls 1

random_sleepFunction · 0.85

Tested by

no test coverage detected