Gregory P. Smith
12489d98e6
Fixes issue #16140 : The subprocess module no longer double closes its
...
child subprocess.PIPE parent file descriptors on child error prior to
exec().
This would lead to race conditions in multithreaded programs where
another thread opened a file reusing the fd which was then closed out
from beneath it by the errant second close.
2012-11-11 01:37:02 -08:00
Gregory P. Smith
8d07c264e4
Raise our own SubprocessError rather than a RuntimeError in when dealing with
...
odd rare errors coming from the subprocess module.
2012-11-10 23:53:47 -08:00
Gregory P. Smith
561cbc4e7b
Fixes issue #16327 : The subprocess module no longer leaks file descriptors
...
used for stdin/stdout/stderr pipes to the child when fork() fails.
2012-11-10 22:33:23 -08:00
Gregory P. Smith
3d8e776cd9
Fixes issue #16327 : The subprocess module no longer leaks file descriptors
...
used for stdin/stdout/stderr pipes to the child when fork() fails.
2012-11-10 22:32:22 -08:00
Gregory P. Smith
a10ddb8a55
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.
2012-10-10 03:44:47 -07:00
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
Chris Jerdonek
86b0fb23e5
Issue #16170 : Remove Linux skip from test_subprocess's test_executable test.
2012-10-09 13:17:49 -07:00
Chris Jerdonek
2d051b8eaf
Issue #16115 : Skip a newly added subprocess.Popen() test on Linux.
2012-10-08 17:53:46 -07:00
Chris Jerdonek
776cb199bc
Issue #16115 : Improve testing of the executable argument to subprocess.Popen().
2012-10-08 15:56:43 -07:00
Andrew Svetlov
a2028733ef
revert accidental inclusion of subprocess tests
2012-10-06 18:45:47 +03:00
Andrew Svetlov
b2209ccfa0
revert accidental inclusion of subprocess tests
2012-10-06 18:45:24 +03:00
Andrew Svetlov
5061a34283
Issue #16025 : Minor corrections to the zipfile documentation.
...
Patch by Serhiy Storchaka.
2012-10-06 18:10:01 +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
Andrew Svetlov
1a53c0cbf5
Issue #16115 : Add test for check that executable arg to Popen() takes precedence over args[0] arg\n \n Patch by Kushal Das
2012-10-05 22:52:15 +03:00
Chris Jerdonek
9a6ada8026
Issue #15533 : Merge update from 3.2.
2012-09-30 09:46:04 -07: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
28714c8c26
Issue #15533 : Merge fix from 3.2.
2012-09-30 02:15:37 -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
a19de803e4
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:20:03 +03: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
47ec25d2f6
Brush subprocess tests a bit.
2012-08-19 16:25:37 +03:00
Andrew Svetlov
943c5b31b6
Fix subprocess test broken on Windows
2012-08-16 20:17:47 +03:00
Andrew Svetlov
5395d2f07d
Add yet another test for subprocess.Popen.communicate
2012-08-15 22:46:43 +03:00
Andrew Svetlov
aa0dbdc2dd
Issue #15592 . Fix regression: subprocess.communicate() breaks on no input with universal newlines true.
...
Patch by Chris Jerdonek.
2012-08-14 18:40:21 +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
6f1a40ffd3
Merge universal newlines-related fixes (issue #13119 )
2012-08-05 00:25:31 +02: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
Vinay Sajip
7ded1f0f69
Implemented PEP 405 (Python virtual environments).
2012-05-26 03:45:29 +01:00
Antoine Pitrou
b69ef16fe6
Issue #14252 : Fix subprocess.Popen.terminate() to not raise an error under Windows when the child process has already exited.
2012-03-11 19:33:29 +01: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
Ross Lagerwall
e7ad419058
Fix sporadic test_subprocess regression introduced by 834650d63130.
2012-02-22 06:02:07 +02:00
Georg Brandl
2fb477c0f0
Merge 3.2: Issue #13703 plus some related test suite fixes.
2012-02-21 00:33:36 +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
Ross Lagerwall
003c7a3fca
Fix a typo.
2012-02-12 09:02:01 +02:00
Ross Lagerwall
ab66d2a6cb
Attempt to speed up some subprocess tests (and hopefully keep them reliable).
2012-02-12 09:01:30 +02:00
Gregory P. Smith
0648458b84
Fix a unittest error seen on NetBSD 5.
2012-01-21 22:06:09 -08:00
Gregory P. Smith
886455cc4e
Fix a unittest error seen on NetBSD 5.
2012-01-21 22:05:10 -08:00
Gregory P. Smith
d635af5a61
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:39:29 -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
ce2af33562
merge 3.2
2011-12-10 12:44:37 -05:00
Benjamin Peterson
b870aa1255
we're always going to have gc
2011-12-10 12:44:25 -05:00
Benjamin Peterson
d3a345a21f
merge 3.2
2011-12-10 12:38:52 -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
74adbaa7bd
Merge: Fix ResourceWarnings in test_subprocess.
2011-08-19 05:14:40 +02:00
Nadeem Vawda
0d7cda3e63
Fix ResourceWarnings in test_subprocess.
2011-08-19 05:12:01 +02:00
Charles-François Natali
2736c5d47c
Issue #12650 : fix failures on some buildbots, when a subprocess takes a long
...
time to spawn.
2011-08-19 00:25:07 +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
Benjamin Peterson
c07f3be4e0
merge 3.2
2011-08-18 13:55:31 -05: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
114f0e499d
Issue #12607 : Merge with 3.2.
2011-07-27 07:39:27 +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
e02891b459
Issue #12591 : Improve support of "universal newlines" in the subprocess
...
module: the piped streams can now be properly read from or written to.
2011-07-23 22:04:41 +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
5351a1f956
(merge 3.2) Issue #12493 : skip test_communicate_eintr() if signal.SIGALRM is missing
2011-07-05 14:50:08 +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
5b1261d750
(merge 3.2) 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:04:39 +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
8153b7a57a
(merge 3.2) 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:50 +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
c0a9f75fba
(merge 3.2) 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:29:07 +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
11cc475be7
(merge 3.2) 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:51 +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
372b838db5
(merge 3.2) Close #12383 : Fix subprocess module with env={}: don't copy the
...
environment variables, start with an empty environment.
2011-06-21 17:24:21 +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
149b1c7797
Use a sleep for test_subprocess timeout test
...
instead of an active loop (while True: pass) to limit race conditions.
2011-06-06 23:43:02 +02:00
Victor Stinner
ebbbdafd87
(Merge 3.2) 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.
test.support.requires_mac_ver() is now a decorator, as suggested by Ezio
Melotti, and its docstring is fixed (linux_version => mac_ver).
2011-06-01 13:19:07 +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
1b5b9d7434
(Merge 3.2) 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:58:57 +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
Charles-François Natali
2d51721832
Issue #12196 : Add PIPE_MAX_SIZE to test.support, constant larger than the
...
underlying OS pipe buffer size.
2011-05-29 16:36:44 +02:00
Gregory P. Smith
8281ba8bcb
follow on to the last commit, remove the final POSIXPurePythonTestCase
...
reference. (the difference between running test_subprocess.py
directly rather than via regrtest.py)
2011-05-28 10:00:14 -07:00
Gregory P. Smith
59fd1bfcc1
The _posixsubprocess module is now required on POSIX.
...
Remove the pure Python POSIX subprocess implementation.
If non-CPython VMs (are there any for 3.x yet?) were somehow depending
on this, they already have the exact same set of problems with Python
code being executed after os.fork() that _posixsubprocess was written
to deal with. They should implement an equivalent outside of Python.
2011-05-28 09:32:39 -07: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
c80504fb69
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
Gregory P. Smith
6b65745430
- Issue #12044 : Fixed subprocess.Popen when used as a context manager to
...
wait for the process to end when exiting the context to avoid unintentionally
leaving zombie processes around.
2011-05-11 21:42:08 -07:00
Ross Lagerwall
0b9ea93a64
Merge with 3.2
2011-04-05 16:07:49 +02: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
4aeb542a72
Merge with 3.2
2011-03-26 21:22:09 +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
1679f4daa1
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:06:22 +01:00
Reid Kleckner
da9ac728a8
Bump up the subprocess timeouts even more. :(
2011-03-16 17:08:21 -04:00
Reid Kleckner
2b228f0d9b
Include the timeout value in TimeoutExpired.
...
This was the original intention, but it wasn't threaded all the way through due
to 'endtime'. Also added a trivial assertion to get coverage of __str__.
2011-03-16 16:57:54 -04:00
Ross Lagerwall
ba102ec10d
Issue #5870 : Add subprocess.DEVNULL constant.
2011-03-16 18:40:25 +02:00
Gregory P. Smith
3b4652e074
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
112bb3ac6a
Add unittests demonstrating issue #11432 .
2011-03-15 14:55:17 -04:00
Gregory P. Smith
58e317ba92
merge 1579808ef25b
2011-03-15 02:15:13 -04:00