From a3015a6a827ad852bf1875e6e40d64063d895cd4 Mon Sep 17 00:00:00 2001 From: Brian Quinlan <brian@sweetapp.com> Date: Fri, 24 Dec 2010 23:10:41 +0000 Subject: [PATCH] Better reporting of test failures on Windows. --- Lib/test/test_concurrent_futures.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_concurrent_futures.py b/Lib/test/test_concurrent_futures.py index e4e38ec93f..7baf0a275a 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() -- 2.40.0