X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=eventlet%2Ftests%2Fconvenience_test.py;fp=eventlet%2Ftests%2Fconvenience_test.py;h=0000000000000000000000000000000000000000;hb=358bd9258c2b6d2ee74de4dfd07a5123107abad4;hp=194699ca8756649c5bbd23c8428aa56c91d25f34;hpb=376ff3bfe7071cc0793184a378c4e74508fb0d97;p=packages%2Ftrusty%2Fpython-eventlet.git diff --git a/eventlet/tests/convenience_test.py b/eventlet/tests/convenience_test.py deleted file mode 100644 index 194699c..0000000 --- a/eventlet/tests/convenience_test.py +++ /dev/null @@ -1,140 +0,0 @@ -import os - -import eventlet -from eventlet import debug, event -from eventlet.green import socket -from eventlet.support import six -from tests import LimitedTestCase, skip_if_no_ssl - - -certificate_file = os.path.join(os.path.dirname(__file__), 'test_server.crt') -private_key_file = os.path.join(os.path.dirname(__file__), 'test_server.key') - - -class TestServe(LimitedTestCase): - def setUp(self): - super(TestServe, self).setUp() - debug.hub_exceptions(False) - - def tearDown(self): - super(TestServe, self).tearDown() - debug.hub_exceptions(True) - - def test_exiting_server(self): - # tests that the server closes the client sock on handle() exit - def closer(sock, addr): - pass - - l = eventlet.listen(('localhost', 0)) - gt = eventlet.spawn(eventlet.serve, l, closer) - client = eventlet.connect(('localhost', l.getsockname()[1])) - client.sendall(b'a') - self.assertFalse(client.recv(100)) - gt.kill() - - def test_excepting_server(self): - # tests that the server closes the client sock on handle() exception - def crasher(sock, addr): - sock.recv(1024) - 0 // 0 - - l = eventlet.listen(('localhost', 0)) - gt = eventlet.spawn(eventlet.serve, l, crasher) - client = eventlet.connect(('localhost', l.getsockname()[1])) - client.sendall(b'a') - self.assertRaises(ZeroDivisionError, gt.wait) - self.assertFalse(client.recv(100)) - - def test_excepting_server_already_closed(self): - # same as above but with explicit clsoe before crash - def crasher(sock, addr): - sock.recv(1024) - sock.close() - 0 // 0 - - l = eventlet.listen(('localhost', 0)) - gt = eventlet.spawn(eventlet.serve, l, crasher) - client = eventlet.connect(('localhost', l.getsockname()[1])) - client.sendall(b'a') - self.assertRaises(ZeroDivisionError, gt.wait) - self.assertFalse(client.recv(100)) - - def test_called_for_each_connection(self): - hits = [0] - - def counter(sock, addr): - hits[0] += 1 - l = eventlet.listen(('localhost', 0)) - gt = eventlet.spawn(eventlet.serve, l, counter) - for i in six.moves.range(100): - client = eventlet.connect(('localhost', l.getsockname()[1])) - self.assertFalse(client.recv(100)) - gt.kill() - self.assertEqual(100, hits[0]) - - def test_blocking(self): - l = eventlet.listen(('localhost', 0)) - x = eventlet.with_timeout( - 0.01, - eventlet.serve, l, lambda c, a: None, - timeout_value="timeout") - self.assertEqual(x, "timeout") - - def test_raising_stopserve(self): - def stopit(conn, addr): - raise eventlet.StopServe() - l = eventlet.listen(('localhost', 0)) - # connect to trigger a call to stopit - gt = eventlet.spawn(eventlet.connect, ('localhost', l.getsockname()[1])) - eventlet.serve(l, stopit) - gt.wait() - - def test_concurrency(self): - evt = event.Event() - - def waiter(sock, addr): - sock.sendall(b'hi') - evt.wait() - l = eventlet.listen(('localhost', 0)) - eventlet.spawn(eventlet.serve, l, waiter, 5) - - def test_client(): - c = eventlet.connect(('localhost', l.getsockname()[1])) - # verify the client is connected by getting data - self.assertEqual(b'hi', c.recv(2)) - return c - [test_client() for i in range(5)] - # very next client should not get anything - x = eventlet.with_timeout( - 0.01, - test_client, - timeout_value="timed out") - self.assertEqual(x, "timed out") - - @skip_if_no_ssl - def test_wrap_ssl(self): - server = eventlet.wrap_ssl( - eventlet.listen(('localhost', 0)), - certfile=certificate_file, keyfile=private_key_file, - server_side=True) - port = server.getsockname()[1] - - def handle(sock, addr): - sock.sendall(sock.recv(1024)) - raise eventlet.StopServe() - - eventlet.spawn(eventlet.serve, server, handle) - client = eventlet.wrap_ssl(eventlet.connect(('localhost', port))) - client.sendall(b"echo") - self.assertEqual(b"echo", client.recv(1024)) - - def test_socket_reuse(self): - lsock1 = eventlet.listen(('localhost', 0)) - port = lsock1.getsockname()[1] - - def same_socket(): - return eventlet.listen(('localhost', port)) - - self.assertRaises(socket.error, same_socket) - lsock1.close() - assert same_socket()