From: Antoine Pitrou Date: Tue, 1 Nov 2016 20:39:39 +0000 (+0100) Subject: Allow memoryview in write() X-Git-Tag: v4.5.0~32^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fcae631e173bc084fe787ff3878b69f53e998b3;p=thirdparty%2Ftornado.git Allow memoryview in write() --- diff --git a/tornado/iostream.py b/tornado/iostream.py index aee114d66..c77b78ee0 100644 --- a/tornado/iostream.py +++ b/tornado/iostream.py @@ -377,7 +377,6 @@ class BaseIOStream(object): .. versionchanged:: 4.0 Now returns a `.Future` if no callback is given. """ - assert isinstance(data, bytes) self._check_closed() if data: if (self.max_write_buffer_size is not None and diff --git a/tornado/test/iostream_test.py b/tornado/test/iostream_test.py index 6e15136c3..4d350655d 100644 --- a/tornado/test/iostream_test.py +++ b/tornado/test/iostream_test.py @@ -602,6 +602,18 @@ class TestIOStreamMixin(object): server.close() client.close() + def test_write_memoryview(self): + server, client = self.make_iostream_pair() + try: + # Ask for more than is available with partial=True + client.read_bytes(4, self.stop) + server.write(memoryview(b"hello")) + data = self.wait() + self.assertEqual(data, b"hell") + finally: + server.close() + client.close() + def test_read_bytes_partial(self): server, client = self.make_iostream_pair() try: