X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=python-eventlet%2Ftests%2Fbackdoor_test.py;h=f932eb04c07425aaa6cb03be4f41389890dd0dde;hb=refs%2Ftags%2Fmos-9.0;hp=6facffeec2f751e0e3115411fa1713b36a8a96f1;hpb=358bd9258c2b6d2ee74de4dfd07a5123107abad4;p=packages%2Ftrusty%2Fpython-eventlet.git diff --git a/python-eventlet/tests/backdoor_test.py b/python-eventlet/tests/backdoor_test.py index 6facffe..f932eb0 100644 --- a/python-eventlet/tests/backdoor_test.py +++ b/python-eventlet/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()