def test__run_once(self): h1 = asyncio.TimerHandle(time_monotonic() + 5.0, lambda: True, (), self.loop) h2 = asyncio.TimerHandle(time_monotonic() + 10.0, lambda: True, (), self.loop) h1.cancel() self.loop._process_events = mock.Mock() self.loop._scheduled.append(h1) self.loop._scheduled.append(h2) self.loop._run_once() t = self.loop._selector.select.call_args[0][0] self.assertTrue(9.5 < t < 10.5, t) self.assertEqual([h2], self.loop._scheduled) self.assertTrue(self.loop._process_events.called)
def test__run_once(self): h1 = asyncio.TimerHandle(time_monotonic() + 5.0, lambda: True, (), self.loop) h2 = asyncio.TimerHandle(time_monotonic() + 10.0, lambda: True, (), self.loop) h1.cancel() self.loop._process_events = mock.Mock() self.loop._scheduled.append(h1) self.loop._scheduled.append(h2) self.loop._run_once() t = self.loop._selector.select.call_args[0][0] self.assertTrue(9.5 < t < 10.5, t) self.assertEqual([h2], self.loop._scheduled) self.assertTrue(self.loop._process_events.called)
def test__run_once_schedule_handle(self): non_local = {"handle": None, "processed": False} def cb(loop): non_local["processed"] = True non_local["handle"] = loop.call_soon(lambda: True) h = asyncio.TimerHandle(time_monotonic() - 1, cb, (self.loop,), self.loop) self.loop._process_events = mock.Mock() self.loop._scheduled.append(h) self.loop._run_once() self.assertTrue(non_local["processed"]) self.assertEqual([non_local["handle"]], list(self.loop._ready))
def test__run_once_schedule_handle(self): non_local = {'handle': None, 'processed': False} def cb(loop): non_local['processed'] = True non_local['handle'] = loop.call_soon(lambda: True) h = asyncio.TimerHandle(time_monotonic() - 1, cb, (self.loop, ), self.loop) self.loop._process_events = mock.Mock() self.loop._scheduled.append(h) self.loop._run_once() self.assertTrue(non_local['processed']) self.assertEqual([non_local['handle']], list(self.loop._ready))