We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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