Commit graph

169 commits

Author SHA1 Message Date
Charles-François Natali
72d161af51 Issue #12650: fix failures on some buildbots, when a subprocess takes a long
time to spawn.
2011-08-19 00:24:00 +02:00
Charles-François Natali
134a8baed9 Issue #12650: Fix a race condition where a subprocess.Popen could leak
resources (FD/zombie) when killed at the wrong time.
2011-08-18 18:49:39 +02:00
Ross Lagerwall
d98646e430 Issue #12607: In subprocess, fix issue where if stdin, stdout or stderr is
given as a low fd, it gets overwritten.
2011-07-27 07:16:31 +02:00
Antoine Pitrou
ab85ff3d1a Issue #12591: Improve support of "universal newlines" in the subprocess
module: the piped streams can now be properly read from or written to.

(this was broken due to the 2.x to 3.x transition; communicate() support
is still sketchy)
2011-07-23 22:03:45 +02:00
Victor Stinner
1848db891b Issue #12493: skip test_communicate_eintr() if signal.SIGALRM is missing 2011-07-05 14:49:46 +02:00
Victor Stinner
2cfb6f3aa0 Issue #12493: subprocess: communicate() handles EINTR
subprocess.Popen.communicate() now also handles EINTR errors if the process has
only one pipe.
2011-07-05 14:00:56 +02:00
Victor Stinner
62d511809d Issue #12383: skip test_empty_env() of subprocess on Windows
Cannot test an empty environment on Windows: Windows requires at least the
SYSTEMROOT environment variable to start Python.
2011-06-23 01:02:25 +02:00
Victor Stinner
237e5cb376 Issue #12383: fix test_empty_env() of subprocess on Mac OS X
Mac OS X adds __CF_USER_TEXT_ENCODING variable to an empty environment. Fix
also the test on the Py_ENABLE_SHARED config varible: test that the variable is
present, don't check it's value.
2011-06-22 21:28:43 +02:00
Victor Stinner
372309a551 Issue #12383: skip test_empty_env() if compiled is compiled in shared mode
Try also to get more informations about the Mac OS X failure: display the keys
of the environment, instead of just the number of variables.
2011-06-21 21:59:06 +02:00
Victor Stinner
f1512a2967 Close #12383: Fix subprocess module with env={}: don't copy the environment
variables, start with an empty environment.
2011-06-21 17:18:38 +02:00
Victor Stinner
88701e27e9 Close #12230: Mac OS X Tiger (10.4) has a kernel bug: sometimes, the file
descriptor of a pipe closed in the parent process is valid in the child process
according to fstat(), but the mode of the file descriptor is invalid, and read
or write raise an error.

Add also requires_mac_ver() decorator to test.support.
2011-06-01 13:13:04 +02:00
Victor Stinner
87b9bc3893 Close #12085: Fix an attribute error in subprocess.Popen destructor if the
constructor has failed, e.g. because of an undeclared keyword argument. Patch
written by Oleg Oshmyan.
2011-06-01 00:57:47 +02:00
Gregory P. Smith
7439e7b7ce Fix ProcessTestCasePOSIXPurePython to test the module from import when
_posixsubprocess doesn't exist rather than simply stubbing it out
after the fact.  This adds coverage for the RuntimeWarning as well as
using the pure python _create_pipe instead of using
_posixsubprocess.cloexec_pipe unintentionally with the pure python
code.

Ironically: I don't think any platform should ever actually _use_ the
pure Python subprocess code on POSIX platforms anymore.  This at least
tests it properly in this stable branch.  The pure python code for
this is likely to be removed in 3.3.
2011-05-28 09:06:02 -07:00
Gregory P. Smith
c9557af441 merge - 7a3f3ad83676 Fixes Issue #12044. 2011-05-11 22:18:23 -07:00
Ross Lagerwall
02ba73c0ef Merge with 3.1 2011-04-05 15:48:47 +02:00
Ross Lagerwall
4f61b02520 Issue #10963: Ensure that subprocess.communicate() never raises EPIPE. 2011-04-05 15:34:00 +02:00
Ross Lagerwall
17ace7a07c Merge with 3.1 2011-03-26 21:21:46 +02:00
Ross Lagerwall
b8a5769a6d Issue #11659: Fix ResourceWarning in test_subprocess introduced by #11459.
Patch by Ben Hayden.
2011-03-26 21:19:57 +02:00
Antoine Pitrou
7b98d02302 Issue #11459: A bufsize value of 0 in subprocess.Popen() really creates
unbuffered pipes, such that select() works properly on them.
2011-03-19 17:04:13 +01:00
Antoine Pitrou
877766dee8 Issue #11459: A bufsize value of 0 in subprocess.Popen() really creates
unbuffered pipes, such that select() works properly on them.
2011-03-19 17:00:37 +01:00
Antoine Pitrou
126848a2d8 Fix whitespace in test_subprocess 2011-03-15 21:17:10 +01:00
Gregory P. Smith
961e0e85c0 revert the test_main() change from 08daf3ef6509 so that regrtest continues to run this properly. 2011-03-15 15:43:39 -04:00
Gregory P. Smith
e14e9c2218 Add unittests demonstrating issue #11432. 2011-03-15 14:55:17 -04:00
Gregory P. Smith
de3909da6b merge 141bbcb19c06 2011-03-15 02:13:09 -04:00
Gregory P. Smith
81ce68597c Fix the @test_NNNN_tmp file terds being left in whatever your $PWD was
when test_subprocess was run.
2011-03-15 02:04:11 -04:00
R David Murray
6924bd72f5 Fix whitespace 2011-03-13 22:48:55 -04:00
R David Murray
384069c2e8 Merge fix for #11490 from 3.1. 2011-03-13 22:26:53 -04:00
R David Murray
d79210a0e4 #11490: EACCES can also mean command not found 2011-03-13 22:13:09 -04:00
Antoine Pitrou
a47c25d74f Merged revisions 88484 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r88484 | antoine.pitrou | 2011-02-21 22:55:48 +0100 (lun., 21 févr. 2011) | 4 lines

  Issue #10826: Prevent sporadic failure in test_subprocess on Solaris due
  to open door files.
........
2011-02-21 21:58:42 +00:00
Antoine Pitrou
dcdc3b4c5d Add some more output 2011-01-03 22:24:52 +00:00
Antoine Pitrou
c43ec08baf Temporary debug output for intermittent failures in test_subprocess 2011-01-03 22:12:43 +00:00
Antoine Pitrou
95aaeee59a Add a subprocess test of remapping standard file descriptors (issue #1187). 2011-01-03 21:15:48 +00:00
Antoine Pitrou
f50a6b6b6d Merged revisions 87695 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87695 | antoine.pitrou | 2011-01-03 19:23:55 +0100 (lun., 03 janv. 2011) | 5 lines

  Issue #10806, issue #9905: Fix subprocess pipes when some of the standard
  file descriptors (0, 1, 2) are closed in the parent process.  Initial
  patch by Ross Lagerwall.
........
2011-01-03 18:36:36 +00:00
Antoine Pitrou
c9c83ba896 Issue #10806, issue #9905: Fix subprocess pipes when some of the standard
file descriptors (0, 1, 2) are closed in the parent process.  Initial
patch by Ross Lagerwall.
2011-01-03 18:23:55 +00:00
Victor Stinner
faa8c13ef4 test_subprocess: close pipes at the end of test_pipe_cloexec_real_tools() 2011-01-03 16:36:00 +00:00
Victor Stinner
667d4b577f Issue #10763: subprocess.communicate() closes stdout and stderr if both are
pipes (bug specific to Windows).

Improve also the unit test: write a portable unit test.
2010-12-25 22:40:32 +00:00
Gregory P. Smith
773d7dffb1 fix "BytesWarning: str() on a bytes instance" 2010-12-14 15:25:20 +00:00
Gregory P. Smith
a80f4fb048 Fix "BytesWarning: str() on a bytes instance" 2010-12-14 15:23:02 +00:00
Gregory P. Smith
b740e76af0 Merged revisions 87233 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r87233 | gregory.p.smith | 2010-12-14 06:38:00 -0800 (Tue, 14 Dec 2010) | 4 lines

  Issue #1731717: Fixed the problem where subprocess.wait() could cause an
  OSError exception when The OS had been told to ignore SIGCLD in our process
  or otherwise not wait for exiting child processes.
........
2010-12-14 15:16:24 +00:00
Gregory P. Smith
e85db2bbb8 Issue #1731717: Fixed the problem where subprocess.wait() could cause an
OSError exception when The OS had been told to ignore SIGCLD in our process
or otherwise not wait for exiting child processes.
2010-12-14 14:38:00 +00:00
Gregory P. Smith
8edd99d085 Issue #6559: fix the subprocess.Popen pass_fds implementation. Add a unittest.
Issue #7213: Change the close_fds default on Windows to better match the new
default on POSIX.  True when possible (False if stdin/stdout/stderr are
supplied).

Update the documentation to reflect all of the above.
2010-12-14 13:43:30 +00:00
Gregory P. Smith
51ee270876 issue7213: Open the pipes used by subprocesses with the FD_CLOEXEC flag from
the C code, using pipe2() when available.  Adds unittests for close_fds and
cloexec behaviors.
2010-12-13 07:59:39 +00:00
Gregory P. Smith
f560485388 Get rid of the close_fds DeprecationWarning. Changes the default on a per
platform basis.  It remains False on Windows and changes to True on all
other platforms (POSIX).  Based on python-dev discussion and
http://bugs.python.org/issue7213.
2010-12-13 06:45:02 +00:00
Gregory P. Smith
b4162305bb refactor the warning test. 2010-12-04 09:59:52 +00:00
Gregory P. Smith
d23047b62c issue7213 + issue2320: Cause a DeprecationWarning if the close_fds argument is
not passed to subprocess.Popen as the default value will be changing in a
future Python to the safer and more often desired value of True.

DeprecationWarnings that show up in a lot of existing code are controversial
and have caused pain in the past.  I'd like to leave this on for 3.2 beta1 and
see how things go.  We can remove the warning if it is deemed too noisy during
any betas.  (case study: the md5 and sha module DeprecationWarnings are loathed
around the world as those modules were never going to be removed in 2.x and
2to3 has a fixer for code that uses them)
2010-12-04 09:10:44 +00:00
Brian Curtin
79cdb661f5 Fix #10554. Added context manager support to Popen objects.
Added a few common Popen uses to the tests like we've done for a few other
instances of adding context managers. Eventually the entire test suite
could be converted to use the context manager format.
2010-12-03 02:46:02 +00:00
Ezio Melotti
19f2aeba67 Merged revisions 86596 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r86596 | ezio.melotti | 2010-11-20 21:04:17 +0200 (Sat, 20 Nov 2010) | 1 line

  #9424: Replace deprecated assert* methods in the Python test suite.
........
2010-11-21 01:30:29 +00:00
Ezio Melotti
b3aedd4862 #9424: Replace deprecated assert* methods in the Python test suite. 2010-11-20 19:04:17 +00:00
Benjamin Peterson
5f78040057 add filename to ENOENT message #4925 2010-11-20 18:07:52 +00:00
Brian Curtin
19a5379c97 Fix a number of ResourceWarnings on Windows due to open pipes. 2010-11-05 17:09:05 +00:00