Commit Graph

184 Commits

Author SHA1 Message Date
Gregory P. Smith 5591b02a4c Fixes Issue #16114: The subprocess module no longer provides a
misleading error message stating that args[0] did not exist when
either the cwd or executable keyword arguments specified a path that
did not exist.

It now keeps track of if the child got as far as preexec and reports it if
not back to the parent via a special "noexec" error message value in
the error pipe so that the cwd can be blamed for a failed chdir
instead of the exec of the executable being blamed instead.

The executable is also always reported accurately when exec fails.

Unittests enhanced to cover these cases.
2012-10-10 03:34:47 -07:00
Andrew Svetlov b2209ccfa0 revert accidental inclusion of subprocess tests 2012-10-06 18:45:24 +03:00
Andrew Svetlov afbf90c993 Issue #16025: Minor corrections to the zipfile documentation.
Patch by Serhiy Storchaka.
2012-10-06 18:02:05 +03:00
Chris Jerdonek c2cd626497 Issue #15533: Skip test_cwd_with_relative_*() tests on Windows pending resolution of issue. 2012-09-30 09:45:00 -07:00
Chris Jerdonek ec3ea94251 Issue #15533: Clarify docs and add tests for subprocess.Popen()'s cwd argument. 2012-09-30 00:10:28 -07:00
Andrew Svetlov 828607170d Issue #15595: Fix subprocess.Popen(universal_newlines=True)
for certain locales (utf-16 and utf-32 family).

Patch by Chris Jerdonek.
2012-08-19 22:13:41 +03:00
Andrew Svetlov f3765071eb Add test to explicit check the absence regression in subprocess (issue #15592).
Patch by Chris Jerdonek.
2012-08-14 18:35:17 +03:00
Antoine Pitrou ec2d26930c Fix universal newlines test to avoid the newline translation done by sys.stdout. 2012-08-05 00:23:40 +02:00
Antoine Pitrou 1f9a835400 Issue #14252: Fix subprocess.Popen.terminate() to not raise an error under Windows when the child process has already exited. 2012-03-11 19:29:12 +01:00
Georg Brandl a86b262d1e Fix bad inheritance in test_subprocess that led to a number of tests being executed twice. 2012-02-20 21:34:57 +01:00
Gregory P. Smith 886455cc4e Fix a unittest error seen on NetBSD 5. 2012-01-21 22:05:10 -08:00
Gregory P. Smith 8facece99a Fixes issue #8052: The posix subprocess module's close_fds behavior was
suboptimal by closing all possible file descriptors rather than just
the open ones in the child process before exec().

It now closes only the open fds when it is possible to safely determine what
those are.
2012-01-21 14:01:08 -08:00
Benjamin Peterson b870aa1255 we're always going to have gc 2011-12-10 12:44:25 -05:00
Benjamin Peterson 964561bb7c you can't get resource.error if you can't import resource 2011-12-10 12:31:42 -05:00
Nadeem Vawda 0d7cda3e63 Fix ResourceWarnings in test_subprocess. 2011-08-19 05:12:01 +02:00
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