diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2015-01-29 00:18:18 +0100 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2015-01-29 00:18:18 +0100 |
commit | 6086246f41854b44ef1789fbfdaa167689c63f42 (patch) | |
tree | eff3f6650a494c1d345504908c8b558976eb2564 /tests | |
parent | d409d7e5329b9968f39189c54b463397aa3d4a56 (diff) | |
download | trollius-6086246f41854b44ef1789fbfdaa167689c63f42.tar.gz |
Fix _SelectorSocketTransport constructor
Only start reading when connection_made() has been called:
protocol.data_received() must not be called before protocol.connection_made().
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_selector_events.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/tests/test_selector_events.py b/tests/test_selector_events.py index ad86ada..5152616 100644 --- a/tests/test_selector_events.py +++ b/tests/test_selector_events.py @@ -59,6 +59,7 @@ class BaseSelectorEventLoopTests(test_utils.TestCase): def test_make_socket_transport(self): m = mock.Mock() self.loop.add_reader = mock.Mock() + self.loop.add_reader._is_coroutine = False transport = self.loop._make_socket_transport(m, asyncio.Protocol()) self.assertIsInstance(transport, _SelectorSocketTransport) close_transport(transport) @@ -67,6 +68,7 @@ class BaseSelectorEventLoopTests(test_utils.TestCase): def test_make_ssl_transport(self): m = mock.Mock() self.loop.add_reader = mock.Mock() + self.loop.add_reader._is_coroutine = False self.loop.add_writer = mock.Mock() self.loop.remove_reader = mock.Mock() self.loop.remove_writer = mock.Mock() @@ -770,20 +772,24 @@ class SelectorSocketTransportTests(test_utils.TestCase): return transport def test_ctor(self): - tr = self.socket_transport() + waiter = asyncio.Future(loop=self.loop) + tr = self.socket_transport(waiter=waiter) + self.loop.run_until_complete(waiter) + self.loop.assert_reader(7, tr._read_ready) test_utils.run_briefly(self.loop) self.protocol.connection_made.assert_called_with(tr) def test_ctor_with_waiter(self): - fut = asyncio.Future(loop=self.loop) + waiter = asyncio.Future(loop=self.loop) + self.socket_transport(waiter=waiter) + self.loop.run_until_complete(waiter) - self.socket_transport(waiter=fut) - test_utils.run_briefly(self.loop) - self.assertIsNone(fut.result()) + self.assertIsNone(waiter.result()) def test_pause_resume_reading(self): tr = self.socket_transport() + test_utils.run_briefly(self.loop) self.assertFalse(tr._paused) self.loop.assert_reader(7, tr._read_ready) tr.pause_reading() |