2 from eventlet import backdoor
3 from eventlet.green import socket
5 from tests import LimitedTestCase, main
8 class BackdoorTest(LimitedTestCase):
10 listener = socket.socket()
11 listener.bind(('localhost', 0))
13 serv = eventlet.spawn(backdoor.backdoor_server, listener)
14 client = socket.socket()
15 client.connect(('localhost', listener.getsockname()[1]))
16 f = client.makefile('rw')
17 assert b'Python' in f.readline()
18 f.readline() # build info
19 f.readline() # help info
20 assert b'InteractiveConsole' in f.readline()
21 self.assertEqual(b'>>> ', f.read(4))
22 f.write(b'print("hi")\n')
24 self.assertEqual(b'hi\n', f.readline())
25 self.assertEqual(b'>>> ', f.read(4))
29 # wait for the console to discover that it's dead
33 if __name__ == '__main__':