def test_release_poller(self, select): poller = SelectPoller() select.select.return_value = (poller._fds, None, None) poller.register(0) poller.register(1) fd = poller.poll() self.assertEqual(fd, [0, 1]) poller.unregister(0) fd = poller.poll() self.assertEqual(fd, [1]) poller.release() fd = poller.poll() self.assertEqual(fd, [])
def test_register_twice_does_not_duplicate_fd(self, select): poller = SelectPoller() select.select.return_value = (poller._fds, None, None) poller.register(0) poller.register(0) fd = poller.poll() self.assertEqual(fd, [0])
def test_timeout_when_no_registered_fds(self): poller = SelectPoller(timeout=0.5) a = time.time() fd = poller.poll() b = time.time() self.assertEqual(fd, []) d = b - a if not (0.48 < d < 0.52): self.fail("Did not wait for the appropriate amount of time: %f" % d)
def test_register_twice_does_not_duplicate_fd(self): poller = SelectPoller() poller.register(0) poller.register(0) fd = poller.poll() self.assertEqual(fd, [0])