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)
Beispiel #2
0
    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))
Beispiel #4
0
    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))