mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Merged revisions 72817 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r72817 | philip.jenvey | 2009-05-21 22:35:32 -0700 (Thu, 21 May 2009) | 4 lines don't use subprocess.call with PIPEs as the child can fill the pipe buf and deadlock. add a warning to subprocess docs about this, similar to Popen.wait's. refs http://bugs.jython.org/issue1351 ........
This commit is contained in:
parent
d40285a986
commit
ab7481a0a4
2 changed files with 14 additions and 2 deletions
|
@ -152,6 +152,12 @@ This module also defines four shortcut functions:
|
|||
|
||||
retcode = call(["ls", "-l"])
|
||||
|
||||
.. warning::
|
||||
|
||||
Like :meth:`Popen.wait`, this will deadlock if the child process
|
||||
generates enough output to a stdout or stderr pipe such that it blocks
|
||||
waiting for the OS pipe buffer to accept more data.
|
||||
|
||||
|
||||
.. function:: check_call(*popenargs, **kwargs)
|
||||
|
||||
|
@ -164,6 +170,10 @@ This module also defines four shortcut functions:
|
|||
|
||||
check_call(["ls", "-l"])
|
||||
|
||||
.. warning::
|
||||
|
||||
See the warning for :func:`call`.
|
||||
|
||||
|
||||
.. function:: check_output(*popenargs, **kwargs)
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# All tests are executed with environment variables ignored
|
||||
# See test_cmd_line_script.py for testing of script execution
|
||||
|
||||
import os
|
||||
import test.support, unittest
|
||||
import os
|
||||
import sys
|
||||
|
@ -40,8 +41,9 @@ class CmdLineTest(unittest.TestCase):
|
|||
def exit_code(self, *args):
|
||||
cmd_line = [sys.executable, '-E']
|
||||
cmd_line.extend(args)
|
||||
return subprocess.call(cmd_line, stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
with open(os.devnull, 'w') as devnull:
|
||||
return subprocess.call(cmd_line, stdout=devnull,
|
||||
stderr=subprocess.STDOUT)
|
||||
|
||||
def test_directories(self):
|
||||
self.assertNotEqual(self.exit_code('.'), 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue