def test_add_remove(self): poll = Poller(get_hub().loop) cbargs = [] called = Event() def callback(fd, events): cbargs.append((fd, events)) called.set() s1, s2 = socketpair() fd = s2.fileno() handle = poll.add_callback(fd, READABLE, callback) self.assertIsNotNone(handle) called.wait(0.01) self.assertEqual(cbargs, []) s1.send(b'x') called.wait(0.1) self.assertEqual(cbargs, [(fd, READABLE)]) del cbargs[:] called.clear() poll.remove_callback(fd, handle) called.wait(0.01) self.assertEqual(cbargs, []) poll.close() s1.close() s2.close()
def test_add_remove(self): poll = Poller(get_hub().loop) cbargs = [] called = Event() def callback(fd, events): cbargs.append((fd, events)) called.set() s1, s2 = socketpair() fd = s2.fileno() handle = poll.add_callback(fd, READABLE, callback) self.assertIsNotNone(handle) called.wait(0.01) self.assertEqual(cbargs, []) s1.send(b'x') called.wait(0.1) self.assertEqual(cbargs, [(fd, READABLE)]) del cbargs[:]; called.clear() poll.remove_callback(fd, handle) called.wait(0.01) self.assertEqual(cbargs, []) poll.close() s1.close(); s2.close()