8000
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent a0a38c1 commit 0ac3aedCopy full SHA for 0ac3aed
Lib/test/test_asyncio/test_subprocess.py
@@ -401,6 +401,26 @@ async def empty_error():
401
self.assertEqual(output, None)
402
self.assertEqual(exitcode, 0)
403
404
+ @unittest.skipIf(sys.platform != 'linux', "Don't have /dev/stdin")
405
+ def test_devstdin_input(self):
406
+
407
+ async def devstdin_input(message):
408
+ code = 'file = open("/dev/stdin"); data = file.read(); print(len(data))'
409
+ proc = await asyncio.create_subprocess_exec(
410
+ sys.executable, '-c', code,
411
+ stdin=asyncio.subprocess.PIPE,
412
+ stdout=asyncio.subprocess.PIPE,
413
+ stderr=asyncio.subprocess.PIPE,
414
+ close_fds=False,
415
+ )
416
+ stdout, stderr = await proc.communicate(message)
417
+ exitcode = await proc.wait()
418
+ return (stdout, exitcode)
419
420
+ output, exitcode = self.loop.run_until_complete(devstdin_input(b'abc'))
421
+ self.assertEqual(output.rstrip(), b'3')
422
+ self.assertEqual(exitcode, 0)
423
424
def test_cancel_process_wait(self):
425
# Issue #23140: cancel Process.wait()
426
0 commit comments