summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_concurrent_futures.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/Lib/test/test_concurrent_futures.py b/Lib/test/test_concurrent_futures.py
index e4e38ec..7baf0a2 100644
--- a/Lib/test/test_concurrent_futures.py
+++ b/Lib/test/test_concurrent_futures.py
@@ -75,15 +75,27 @@ class Call(object):
def _wait_on_event(self, handle):
if sys.platform.startswith('win'):
+ # WaitForSingleObject returns 0 if handle is signaled.
r = ctypes.windll.kernel32.WaitForSingleObject(handle, 60 * 1000)
- assert r == 0
+ if r != 0:
+ message = (
+ 'WaitForSingleObject({}, ...) failed with {}, '
+ 'GetLastError() = {}'.format(
+ handle, r, ctypes.GetLastError()))
+ logging.critical(message)
+ assert False, message
else:
self.CALL_LOCKS[handle].wait()
def _signal_event(self, handle):
if sys.platform.startswith('win'):
- r = ctypes.windll.kernel32.SetEvent(handle)
- assert r != 0
+ r = ctypes.windll.kernel32.SetEvent(handle) # Returns 0 on failure.
+ if r == 0:
+ message = (
+ 'SetEvent({}) failed with {}, GetLastError() = {}'.format(
+ handle, r, ctypes.GetLastError()))
+ logging.critical(message)
+ assert False, message
else:
self.CALL_LOCKS[handle].set()