diff options
| author | Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com> | 2022-12-21 09:50:26 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-21 09:50:26 (GMT) |
| commit | a7715ccfba5b86ab09f86ec56ac3755c93b46b48 (patch) | |
| tree | 6143a51f88f39cad5a4f22314ef45a474e5fb4b8 /Lib/test/test_asyncio/test_subprocess.py | |
| parent | 4994f2488f8a436ebda3510c779cbfe292bb21a0 (diff) | |
| download | cpython-a7715ccfba5b86ab09f86ec56ac3755c93b46b48.zip cpython-a7715ccfba5b86ab09f86ec56ac3755c93b46b48.tar.gz cpython-a7715ccfba5b86ab09f86ec56ac3755c93b46b48.tar.bz2 | |
GH-100133: fix `asyncio` subprocess losing `stderr` and `stdout` output (#100154)
Diffstat (limited to 'Lib/test/test_asyncio/test_subprocess.py')
| -rw-r--r-- | Lib/test/test_asyncio/test_subprocess.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/test_asyncio/test_subprocess.py b/Lib/test/test_asyncio/test_subprocess.py index 7411f73..3830dea 100644 --- a/Lib/test/test_asyncio/test_subprocess.py +++ b/Lib/test/test_asyncio/test_subprocess.py @@ -686,6 +686,23 @@ class SubprocessMixin: self.assertIsNone(self.loop.run_until_complete(execute())) + def test_subprocess_communicate_stdout(self): + # See https://github.com/python/cpython/issues/100133 + async def get_command_stdout(cmd, *args): + proc = await asyncio.create_subprocess_exec( + cmd, *args, stdout=asyncio.subprocess.PIPE, + ) + stdout, _ = await proc.communicate() + return stdout.decode().strip() + + async def main(): + outputs = [f'foo{i}' for i in range(10)] + res = await asyncio.gather(*[get_command_stdout(sys.executable, '-c', + f'print({out!r})') for out in outputs]) + self.assertEqual(res, outputs) + + self.loop.run_until_complete(main()) + if sys.platform != 'win32': # Unix |
