]> granicus.if.org Git - python/commitdiff
asyncio: IocpProactor.wait_for_handle() test now also checks the result of the
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 19 Dec 2014 16:10:44 +0000 (17:10 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Fri, 19 Dec 2014 16:10:44 +0000 (17:10 +0100)
future

Lib/asyncio/windows_events.py
Lib/test/test_asyncio/test_windows_events.py

index 0773d061f79a31f57c3c8b37e584d463167eae30..d7feb1aec8349dd157e6634df8151daefae0d799 100644 (file)
@@ -427,6 +427,11 @@ class IocpProactor:
         return self._register(ov, None, finish_connect_pipe, wait_for_post=True)
 
     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:
             ms = _winapi.INFINITE
         else:
index b4d9398fb36804434ccaa0b4dbd0da17bef67408..9b264a64b0a1f256852ee0399384aa710c0ca49c 100644 (file)
@@ -98,8 +98,10 @@ class ProactorTests(test_utils.TestCase):
         # result should be False at timeout
         fut = self.loop._proactor.wait_for_handle(event, 0.5)
         start = self.loop.time()
-        self.loop.run_until_complete(fut)
+        done = self.loop.run_until_complete(fut)
         elapsed = self.loop.time() - start
+
+        self.assertEqual(done, False)
         self.assertFalse(fut.result())
         self.assertTrue(0.48 < elapsed < 0.9, elapsed)
 
@@ -109,8 +111,10 @@ class ProactorTests(test_utils.TestCase):
         # result should be True immediately
         fut = self.loop._proactor.wait_for_handle(event, 10)
         start = self.loop.time()
-        self.loop.run_until_complete(fut)
+        done = self.loop.run_until_complete(fut)
         elapsed = self.loop.time() - start
+
+        self.assertEqual(done, True)
         self.assertTrue(fut.result())
         self.assertTrue(0 <= elapsed < 0.3, elapsed)