(lock=None, cond=None)
| 690 | |
| 691 | async def test_explicit_lock(self): |
| 692 | async def f(lock=None, cond=None): |
| 693 | if lock is None: |
| 694 | lock = asyncio.Lock() |
| 695 | if cond is None: |
| 696 | cond = asyncio.Condition(lock) |
| 697 | self.assertIs(cond._lock, lock) |
| 698 | self.assertFalse(lock.locked()) |
| 699 | self.assertFalse(cond.locked()) |
| 700 | async with cond: |
| 701 | self.assertTrue(lock.locked()) |
| 702 | self.assertTrue(cond.locked()) |
| 703 | self.assertFalse(lock.locked()) |
| 704 | self.assertFalse(cond.locked()) |
| 705 | async with lock: |
| 706 | self.assertTrue(lock.locked()) |
| 707 | self.assertTrue(cond.locked()) |
| 708 | self.assertFalse(lock.locked()) |
| 709 | self.assertFalse(cond.locked()) |
| 710 | |
| 711 | # All should work in the same way. |
| 712 | await f() |
nothing calls this directly
no test coverage detected