Kaydet (Commit) 4d825b45 authored tarafından Victor Stinner's avatar Victor Stinner

asyncio: IocpProactor.wait_for_handle() test now also checks the result of the

future
üst 1b9763d0
...@@ -427,6 +427,11 @@ class IocpProactor: ...@@ -427,6 +427,11 @@ class IocpProactor:
return self._register(ov, None, finish_connect_pipe, wait_for_post=True) return self._register(ov, None, finish_connect_pipe, wait_for_post=True)
def wait_for_handle(self, handle, timeout=None): def wait_for_handle(self, handle, timeout=None):
"""Wait for a handle.
Return a Future object. The result of the future is True if the wait
completed, or False if the wait did not complete (on timeout).
"""
if timeout is None: if timeout is None:
ms = _winapi.INFINITE ms = _winapi.INFINITE
else: else:
......
...@@ -98,8 +98,10 @@ class ProactorTests(test_utils.TestCase): ...@@ -98,8 +98,10 @@ class ProactorTests(test_utils.TestCase):
# result should be False at timeout # result should be False at timeout
fut = self.loop._proactor.wait_for_handle(event, 0.5) fut = self.loop._proactor.wait_for_handle(event, 0.5)
start = self.loop.time() start = self.loop.time()
self.loop.run_until_complete(fut) done = self.loop.run_until_complete(fut)
elapsed = self.loop.time() - start elapsed = self.loop.time() - start
self.assertEqual(done, False)
self.assertFalse(fut.result()) self.assertFalse(fut.result())
self.assertTrue(0.48 < elapsed < 0.9, elapsed) self.assertTrue(0.48 < elapsed < 0.9, elapsed)
...@@ -109,8 +111,10 @@ class ProactorTests(test_utils.TestCase): ...@@ -109,8 +111,10 @@ class ProactorTests(test_utils.TestCase):
# result should be True immediately # result should be True immediately
fut = self.loop._proactor.wait_for_handle(event, 10) fut = self.loop._proactor.wait_for_handle(event, 10)
start = self.loop.time() start = self.loop.time()
self.loop.run_until_complete(fut) done = self.loop.run_until_complete(fut)
elapsed = self.loop.time() - start elapsed = self.loop.time() - start
self.assertEqual(done, True)
self.assertTrue(fut.result()) self.assertTrue(fut.result())
self.assertTrue(0 <= elapsed < 0.3, elapsed) self.assertTrue(0 <= elapsed < 0.3, elapsed)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment