diff options
| author | Eric Urban <hydrogen18@gmail.com> | 2013-10-06 21:23:20 -0400 |
|---|---|---|
| committer | Jakub Stasiak <jakub@stasiak.at> | 2016-01-11 23:28:48 +0100 |
| commit | 24d283cfdb3cb9e6f0b4cad3d676940b4a3ce252 (patch) | |
| tree | 609a92d7acf71380357c46508f7981a978828306 /tests | |
| parent | 16aa6cb370c44ea29f4781d9d0a2ee799ebc8c12 (diff) | |
| download | eventlet-backdoor.tar.gz | |
backdoor: Add Unix and IPv6 socket supportbackdoor
BitBucket: https://github.com/eventlet/eventlet/issues/157
GitHub: https://github.com/eventlet/eventlet/pull/56
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/backdoor_test.py | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/backdoor_test.py b/tests/backdoor_test.py index 6facffe..03d5752 100644 --- a/tests/backdoor_test.py +++ b/tests/backdoor_test.py @@ -1,4 +1,8 @@ +import os +import os.path + import eventlet + from eventlet import backdoor from eventlet.green import socket @@ -13,6 +17,9 @@ class BackdoorTest(LimitedTestCase): serv = eventlet.spawn(backdoor.backdoor_server, listener) client = socket.socket() client.connect(('localhost', listener.getsockname()[1])) + self._run_test_on_client_and_server(client, serv) + + def _run_test_on_client_and_server(self, client, server_thread): f = client.makefile('rw') assert 'Python' in f.readline() f.readline() # build info @@ -25,10 +32,31 @@ class BackdoorTest(LimitedTestCase): self.assertEqual('>>> ', f.read(4)) f.close() client.close() - serv.kill() + server_thread.kill() # wait for the console to discover that it's dead eventlet.sleep(0.1) + def test_server_on_ipv6_socket(self): + listener = socket.socket(socket.AF_INET6) + listener.bind(('::1',0)) + listener.listen(5) + serv = eventlet.spawn(backdoor.backdoor_server, listener) + client = socket.socket(socket.AF_INET6) + client.connect(listener.getsockname()) + self._run_test_on_client_and_server(client, serv) + + def test_server_on_unix_socket(self): + SOCKET_PATH = '/tmp/eventlet_backdoor_test.socket' + if os.path.exists(SOCKET_PATH): + os.unlink(SOCKET_PATH) + listener = socket.socket(socket.AF_UNIX) + listener.bind(SOCKET_PATH) + listener.listen(5) + serv = eventlet.spawn(backdoor.backdoor_server, listener) + client = socket.socket(socket.AF_UNIX) + client.connect(SOCKET_PATH) + self._run_test_on_client_and_server(client, serv) + if __name__ == '__main__': main() |
