Issue #19842: Refactor BaseSelector to make it an actual usable ABC.

This commit is contained in:
Charles-François Natali 2013-12-01 11:04:17 +01:00
parent be0708f066
commit b3330a0abf
3 changed files with 86 additions and 47 deletions

View file

@ -114,7 +114,6 @@ class TelnetAlike(telnetlib.Telnet):
class MockSelector(selectors.BaseSelector):
def __init__(self):
super().__init__()
self.keys = {}
def register(self, fileobj, events, data=None):
@ -123,8 +122,7 @@ class MockSelector(selectors.BaseSelector):
return key
def unregister(self, fileobj):
key = self.keys.pop(fileobj)
return key
return self.keys.pop(fileobj)
def select(self, timeout=None):
block = False
@ -137,6 +135,9 @@ class MockSelector(selectors.BaseSelector):
else:
return [(key, key.events) for key in self.keys.values()]
def get_map(self):
return self.keys
@contextlib.contextmanager
def test_socket(reads):