mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-03 18:03:37 +00:00
84fb3e5df9
Conflicts: CHANGES.md
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import socket
|
|
|
|
from tornado import gen
|
|
from tornado.iostream import IOStream
|
|
from tornado.log import app_log
|
|
from tornado.stack_context import NullContext
|
|
from tornado.tcpserver import TCPServer
|
|
from tornado.testing import AsyncTestCase, ExpectLog, bind_unused_port, gen_test
|
|
|
|
|
|
class TCPServerTest(AsyncTestCase):
|
|
@gen_test
|
|
def test_handle_stream_coroutine_logging(self):
|
|
# handle_stream may be a coroutine and any exception in its
|
|
# Future will be logged.
|
|
class TestServer(TCPServer):
|
|
@gen.coroutine
|
|
def handle_stream(self, stream, address):
|
|
yield gen.moment
|
|
stream.close()
|
|
1/0
|
|
|
|
server = client = None
|
|
try:
|
|
sock, port = bind_unused_port()
|
|
with NullContext():
|
|
server = TestServer()
|
|
server.add_socket(sock)
|
|
client = IOStream(socket.socket())
|
|
with ExpectLog(app_log, "Exception in callback"):
|
|
yield client.connect(('localhost', port))
|
|
yield client.read_until_close()
|
|
yield gen.moment
|
|
finally:
|
|
if server is not None:
|
|
server.stop()
|
|
if client is not None:
|
|
client.close()
|