summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-01-15 22:59:13 +0100
committerVictor Stinner <victor.stinner@gmail.com>2015-01-15 22:59:13 +0100
commitc727ba13637dcadb6bb3a4cdf537657205dd9c4e (patch)
tree82b716caf584d63c81f2aa89780ef38d98222a14
parent7d342ae6c4ae5a8e5456352589787f6be1dc3a62 (diff)
downloadtrollius-c727ba13637dcadb6bb3a4cdf537657205dd9c4e.tar.gz
Issue #22685: Fix test_pause_reading() of 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.
-rw-r--r--tests/test_subprocess.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/tests/test_subprocess.py b/tests/test_subprocess.py
index a4c1f69..ecc2c9d 100644
--- a/tests/test_subprocess.py
+++ b/tests/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()