mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
[3.11] gh-103607: Fix pause_reading
to work when called from connection_made
in asyncio
. (GH-17425) (#103918)
gh-103607: Fix `pause_reading` to work when called from `connection_made` in `asyncio`. (GH-17425)
(cherry picked from commit 78942ecd9b
)
Co-authored-by: Itayazolay <itayazolay@gmail.com>
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
This commit is contained in:
parent
4041251a36
commit
2cd1b9c2ca
5 changed files with 62 additions and 24 deletions
|
@ -444,6 +444,19 @@ class ProactorSocketTransportTests(test_utils.TestCase):
|
|||
|
||||
self.assertFalse(tr.is_reading())
|
||||
|
||||
def test_pause_reading_connection_made(self):
|
||||
tr = self.socket_transport()
|
||||
self.protocol.connection_made.side_effect = lambda _: tr.pause_reading()
|
||||
test_utils.run_briefly(self.loop)
|
||||
self.assertFalse(tr.is_reading())
|
||||
self.loop.assert_no_reader(7)
|
||||
|
||||
tr.resume_reading()
|
||||
self.assertTrue(tr.is_reading())
|
||||
|
||||
tr.close()
|
||||
self.assertFalse(tr.is_reading())
|
||||
|
||||
|
||||
def pause_writing_transport(self, high):
|
||||
tr = self.socket_transport()
|
||||
|
|
|
@ -534,6 +534,22 @@ class SelectorSocketTransportTests(test_utils.TestCase):
|
|||
self.assertFalse(tr.is_reading())
|
||||
self.loop.assert_no_reader(7)
|
||||
|
||||
def test_pause_reading_connection_made(self):
|
||||
tr = self.socket_transport()
|
||||
self.protocol.connection_made.side_effect = lambda _: tr.pause_reading()
|
||||
test_utils.run_briefly(self.loop)
|
||||
self.assertFalse(tr.is_reading())
|
||||
self.loop.assert_no_reader(7)
|
||||
|
||||
tr.resume_reading()
|
||||
self.assertTrue(tr.is_reading())
|
||||
self.loop.assert_reader(7, tr._read_ready)
|
||||
|
||||
tr.close()
|
||||
self.assertFalse(tr.is_reading())
|
||||
self.loop.assert_no_reader(7)
|
||||
|
||||
|
||||
def test_read_eof_received_error(self):
|
||||
transport = self.socket_transport()
|
||||
transport.close = mock.Mock()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue