aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_tcp.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_tcp.py')
-rw-r--r--test/test_tcp.py23
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))