Issue #20452: Fix test_time_and_call_at() of test_asyncio on Windows

Use the granularity to check the minimum time delta, instead of arbitrary
value.
This commit is contained in:
Victor Stinner 2014-02-01 02:18:52 +01:00
parent 1144214639
commit 55effc6dd0

View File

@ -116,17 +116,18 @@ class BaseEventLoopTests(unittest.TestCase):
self.loop.stop()
self.loop._process_events = unittest.mock.Mock()
when = self.loop.time() + 0.1
delay = 0.1
when = self.loop.time() + delay
self.loop.call_at(when, cb)
t0 = self.loop.time()
self.loop.run_forever()
dt = self.loop.time() - t0
self.assertTrue(0.09 <= dt <= 0.9,
# Issue #20452: add more info in case of failure,
# to try to investigate the bug
(dt,
self.loop._granularity,
time.get_clock_info('monotonic')))
self.assertGreaterEqual(dt, delay - self.loop._granularity, dt)
# tolerate a difference of +800 ms because some Python buildbots
# are really slow
self.assertLessEqual(dt, 0.9, dt)
def test_run_once_in_executor_handle(self):
def cb():