diff options
Diffstat (limited to 'test/test_tcp.py')
-rw-r--r-- | test/test_tcp.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/test_tcp.py b/test/test_tcp.py index ec995702..77146829 100644 --- a/test/test_tcp.py +++ b/test/test_tcp.py @@ -106,6 +106,11 @@ class TestDisconnect(test.ServerTestBase): assert c.rfile.readline() == testval +class HardDisconnectHandler(tcp.BaseHandler): + def handle(self): + self.connection.close() + + class TestServerSSL(test.ServerTestBase): handler = EchoHandler ssl = dict( @@ -293,6 +298,24 @@ class TestSSLDisconnect(test.ServerTestBase): tutils.raises(Queue.Empty, self.q.get_nowait) +class TestSSLHardDisconnect(test.ServerTestBase): + handler = HardDisconnectHandler + ssl = dict( + cert = tutils.test_data.path("data/server.crt"), + key = tutils.test_data.path("data/server.key"), + request_client_cert = False, + v3_only = False + ) + def test_echo(self): + c = tcp.TCPClient(("127.0.0.1", self.port)) + c.connect() + c.convert_to_ssl() + # Exercise SSL.SysCallError + c.rfile.read(10) + c.close() + tutils.raises(tcp.NetLibDisconnect, c.wfile.write, "foo") + + class TestDisconnect(test.ServerTestBase): def test_echo(self): c = tcp.TCPClient(("127.0.0.1", self.port)) |