| 304 | yield acquire class="cm"># No TimeoutError. |
| 305 | |
| 306 | def test_release_unacquired(self): |
| 307 | class="cm"># Unbounded releases are allowed, and increment the semaphore's value. |
| 308 | sem = locks.Semaphore() |
| 309 | sem.release() |
| 310 | sem.release() |
| 311 | |
| 312 | class="cm"># Now the counter is 3. We can acquire three times before blocking. |
| 313 | self.assertTrue(asyncio.ensure_future(sem.acquire()).done()) |
| 314 | self.assertTrue(asyncio.ensure_future(sem.acquire()).done()) |
| 315 | self.assertTrue(asyncio.ensure_future(sem.acquire()).done()) |
| 316 | self.assertFalse(asyncio.ensure_future(sem.acquire()).done()) |
| 317 | |
| 318 | @gen_test |
| 319 | def test_garbage_collection(self): |