Issue #20505: Add debug info to analyze sporaric failures of

test_timeout_rounding() on Windows XP buildbots.
This commit is contained in:
Victor Stinner 2014-02-10 11:47:50 +01:00
parent 69a2547cd5
commit 1c143b19c8
2 changed files with 10 additions and 1 deletions

View file

@ -633,7 +633,13 @@ class BaseEventLoop(events.AbstractEventLoop):
else:
logger.log(level, 'poll took %.3f seconds', t1-t0)
else:
t0 = self.time()
event_list = self._selector.select(timeout)
dt = self.time() - t0
if not event_list and timeout and dt < timeout:
print("asyncio: selector.select(%.3f ms) took %.3f ms"
% (timeout*1e3, dt*1e3),
file=sys.__stderr__, flush=True)
self._process_events(event_list)
# Handle 'later' callbacks that are ready.

View file

@ -1182,7 +1182,10 @@ class EventLoopTestsMixin:
# may sleep at little bit less than timeout depending on the resolution
# of the clock used by the kernel. Tolerate 2 useless calls on these
# platforms.
self.assertLessEqual(self.loop._run_once_counter, 8)
self.assertLessEqual(self.loop._run_once_counter, 8,
{'time_info': time.get_clock_info('time'),
'monotonic_info': time.get_clock_info('monotonic'),
'selector': self.loop._selector.__class__.__name__})
class SubprocessTestsMixin: