From: Ben Darnell Date: Tue, 13 Dec 2016 12:54:15 +0000 (+0800) Subject: Merge branch 'master' into handle-stream-native-coro X-Git-Tag: v4.5.0~49^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1906%2Fhead;p=thirdparty%2Ftornado.git Merge branch 'master' into handle-stream-native-coro --- f8282c3eb23ba68f1dfc85f6e0342281e36a4b8c diff --cc tornado/test/tcpserver_test.py index ba43c76c6,5c51c71f0..2d20b796c --- a/tornado/test/tcpserver_test.py +++ b/tornado/test/tcpserver_test.py @@@ -39,24 -39,10 +40,32 @@@ class TCPServerTest(AsyncTestCase) if client is not None: client.close() + @skipBefore35 + @gen_test + def test_handle_stream_native_coroutine(self): + # handle_stream may be a native coroutine. + + namespace = exec_test(globals(), locals(), """ + class TestServer(TCPServer): + async def handle_stream(self, stream, address): + stream.write(b'data') + stream.close() + """) + + sock, port = bind_unused_port() + server = namespace['TestServer']() + server.add_socket(sock) + client = IOStream(socket.socket()) + yield client.connect(('localhost', port)) + result = yield client.read_until_close() + self.assertEqual(result, b'data') + server.stop() + client.close() ++ + def test_stop_twice(self): + sock, port = bind_unused_port() + server = TCPServer() + server.add_socket(sock) + server.stop() + server.stop() +