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.py34
1 files changed, 33 insertions, 1 deletions
diff --git a/test/test_tcp.py b/test/test_tcp.py
index 359890d5..cb27c63b 100644
--- a/test/test_tcp.py
+++ b/test/test_tcp.py
@@ -54,7 +54,7 @@ class EchoHandler(tcp.BaseHandler):
class DisconnectHandler(tcp.BaseHandler):
def handle(self):
- self.finish()
+ self.close()
class TServer(tcp.TCPServer):
@@ -102,6 +102,20 @@ class TestServer(ServerTestBase):
assert c.rfile.readline() == testval
+class TestDisconnect(ServerTestBase):
+ @classmethod
+ def makeserver(cls):
+ return TServer(("127.0.0.1", 0), False, cls.q, EchoHandler)
+
+ def test_echo(self):
+ testval = "echo!\n"
+ c = tcp.TCPClient("127.0.0.1", self.port)
+ c.connect()
+ c.wfile.write(testval)
+ c.wfile.flush()
+ assert c.rfile.readline() == testval
+
+
class TestServerSSL(ServerTestBase):
@classmethod
def makeserver(cls):
@@ -154,6 +168,24 @@ class TestSSLDisconnect(ServerTestBase):
c.convert_to_ssl()
# Excercise SSL.ZeroReturnError
c.rfile.read(10)
+ c.close()
+ tutils.raises(tcp.NetLibDisconnect, c.wfile.write, "foo")
+ tutils.raises(Queue.Empty, self.q.get_nowait)
+
+
+class TestDisconnect(ServerTestBase):
+ @classmethod
+ def makeserver(cls):
+ return TServer(("127.0.0.1", 0), False, cls.q, DisconnectHandler)
+
+ def test_echo(self):
+ c = tcp.TCPClient("127.0.0.1", self.port)
+ c.connect()
+ # Excercise SSL.ZeroReturnError
+ c.rfile.read(10)
+ c.wfile.write("foo")
+ c.close()
+ c.close()
class TestTCPClient: