changeset: 68526:ad2bd8d338b0 branch: 3.2 user: Gregory P. Smith date: Tue Mar 15 14:55:17 2011 -0400 files: Lib/test/test_subprocess.py description: Add unittests demonstrating issue #11432. diff -r ead52adcd0c8 -r ad2bd8d338b0 Lib/test/test_subprocess.py --- a/Lib/test/test_subprocess.py Tue Mar 15 14:56:39 2011 -0400 +++ b/Lib/test/test_subprocess.py Tue Mar 15 14:55:17 2011 -0400 @@ -3,6 +3,7 @@ import subprocess import sys import signal +import io import os import errno import tempfile @@ -1186,6 +1187,24 @@ close_fds=False, pass_fds=(fd, ))) self.assertIn('overriding close_fds', str(context.warning)) + def test_stdout_stdin_are_single_inout_fd(self): + with io.open(os.devnull, "r+") as inout: + p = subprocess.Popen([sys.executable, "-c", "import sys; sys.exit(0)"], + stdout=inout, stdin=inout) + p.wait() + + def test_stdout_stderr_are_single_inout_fd(self): + with io.open(os.devnull, "r+") as inout: + p = subprocess.Popen([sys.executable, "-c", "import sys; sys.exit(0)"], + stdout=inout, stderr=inout) + p.wait() + + def test_stderr_stdin_are_single_inout_fd(self): + with io.open(os.devnull, "r+") as inout: + p = subprocess.Popen([sys.executable, "-c", "import sys; sys.exit(0)"], + stderr=inout, stdin=inout) + p.wait() + def test_wait_when_sigchild_ignored(self): # NOTE: sigchild_ignore.py may not be an effective test on all OSes. sigchild_ignore = support.findfile("sigchild_ignore.py", @@ -1458,19 +1477,6 @@ raise c.exception -def test_main(): - unit_tests = (ProcessTestCase, - POSIXProcessTestCase, - Win32ProcessTestCase, - ProcessTestCasePOSIXPurePython, - CommandTests, - ProcessTestCaseNoPoll, - HelperFunctionTests, - CommandsWithSpaces, - ContextManagerTests) - - support.run_unittest(*unit_tests) +if __name__ == "__main__": + unittest.main() support.reap_children() - -if __name__ == "__main__": - test_main()

AltStyle によって変換されたページ (->オリジナル) /