diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2015-01-15 21:52:59 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2015-01-15 21:52:59 (GMT) |
commit | f716d8b7a53ee2ed3b6dc42f7f6b00ac211209d8 (patch) | |
tree | e3e869e47259a968d24cb3f80b72f926bba24188 /Lib/test/test_asyncio/test_subprocess.py | |
parent | 406204c8c2e2adb890b29210c905f6fc7164b397 (diff) | |
download | cpython-f716d8b7a53ee2ed3b6dc42f7f6b00ac211209d8.zip cpython-f716d8b7a53ee2ed3b6dc42f7f6b00ac211209d8.tar.gz cpython-f716d8b7a53ee2ed3b6dc42f7f6b00ac211209d8.tar.bz2 |
Issue #22685: Fix test_pause_reading() of asyncio/test_subprocess
Override the connect_read_pipe() method of the loop to mock immediatly
pause_reading() and resume_reading() methods.
The test failed randomly on FreeBSD 9 buildbot and on Windows using trollius.
Diffstat (limited to 'Lib/test/test_asyncio/test_subprocess.py')
-rw-r--r-- | Lib/test/test_asyncio/test_subprocess.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Lib/test/test_asyncio/test_subprocess.py b/Lib/test/test_asyncio/test_subprocess.py index a4c1f69..ecc2c9d 100644 --- a/Lib/test/test_asyncio/test_subprocess.py +++ b/Lib/test/test_asyncio/test_subprocess.py @@ -179,6 +179,18 @@ class SubprocessMixin: 'sys.stdout.write("x" * %s)' % size, 'sys.stdout.flush()', )) + + connect_read_pipe = self.loop.connect_read_pipe + + @asyncio.coroutine + def connect_read_pipe_mock(*args, **kw): + transport, protocol = yield from connect_read_pipe(*args, **kw) + transport.pause_reading = mock.Mock() + transport.resume_reading = mock.Mock() + return (transport, protocol) + + self.loop.connect_read_pipe = connect_read_pipe_mock + proc = yield from asyncio.create_subprocess_exec( sys.executable, '-c', code, stdin=asyncio.subprocess.PIPE, @@ -186,8 +198,6 @@ class SubprocessMixin: limit=limit, loop=self.loop) stdout_transport = proc._transport.get_pipe_transport(1) - stdout_transport.pause_reading = mock.Mock() - stdout_transport.resume_reading = mock.Mock() stdout, stderr = yield from proc.communicate() |