def testReuseAddress(self): reactor = CallTrace() acceptor = Acceptor(reactor, self.port, lambda sok: None) client = socket() client.connect(('127.0.0.1', self.port)) acceptor._accept() acceptor.close() acceptor = Acceptor(reactor, self.port, lambda sok: None)
def testReuseAddress(self): reactor = CallTrace() acceptor = Acceptor(reactor, self.port, lambda sok: None) client = socket() client.connect(('127.0.0.1', self.port)) acceptor._accept() acceptor.close() acceptor = Acceptor(reactor, self.port, lambda sok: None)
class DebugPrompt(object): def __init__(self, reactor, port, globals): self._reactor = reactor self._port = port self._globals = globals def observer_init(self): self._acceptor = Acceptor(reactor=self._reactor, port=self._port, sinkFactory=self._connect, bindAddress='127.0.0.1') def _connect(self, sok): next(self.handle_conversation(sok)) def close(self): self._acceptor.close() @identify def handle_conversation(self, sok): response = PROMPT this = yield while True: self._reactor.addWriter(sok, this.__next__) yield self._reactor.removeWriter(sok) sok.sendall(response) self._reactor.addReader(sok, this.__next__) yield self._reactor.removeReader(sok) command = sok.recv(1024).strip() if not command: sok.close() yield buff = StringIO() try: stdout_prev = sys.stdout stderr_prev = sys.stderr sys.stdout = buff sys.stderr = buff exec(command, self._globals) except: print_exc(limit=0) finally: sys.stdout = stdout_prev sys.stderr = stderr_prev response = buff.getvalue().encode() + PROMPT