Commit graph

310 commits

Author SHA1 Message Date
Serhiy Storchaka
cf265fd02a Fixed a test for issue #21619 on Windows.
On Windows an OSError with errno=EINVAL is raised.
2015-02-28 13:27:54 +02:00
Serhiy Storchaka
ab900c21fc Issue #21619: Popen objects no longer leave a zombie after exit in the with
statement if the pipe was broken.  Patch by Martin Panter.
2015-02-28 12:43:08 +02:00
Serhiy Storchaka
85c3033670 Use os.devnull instead of hardcoded '/dev/null'. 2015-02-15 13:58:23 +02:00
Victor Stinner
8f437aac06 Issue #22290: Fix error handling in the _posixsubprocess module.
* Don't call the garbage collector with an exception set: it causes an
  assertion to fail in debug mode.
* Enhance also error handling if allocating an array for the executable list
  failed.
* Add an unit test for 4 different errors in the _posixsubprocess module.
2014-10-05 17:25:19 +02:00
Antoine Pitrou
afe8d0646c Issue #21332: Ensure that `bufsize=1` in subprocess.Popen() selects line buffering, rather than block buffering. 2014-09-21 21:10:56 +02:00
Gregory P. Smith
9204e09178 fix a BytesWarning in my previous commit. 2014-06-15 20:16:01 -07:00
Gregory P. Smith
634aa68c2b Isolate the subprocess test_close_fds_when_max_fd_is_lowered test so
that the rlimit calls happens in a child process rather than the
TestCase process to attempt to fix the gentoo buildbot's "Too many
open files" error.
2014-06-15 17:51:04 -07:00
Gregory P. Smith
d04f699498 Skip test_subprocess test_close_fds_when_max_fd_is_lowered on FreeBSD
when fdescfs is not mounted on /dev/fd.
2014-06-01 15:27:28 -07:00
Gregory P. Smith
8fed4deb44 Attempt to fix the "too many open files" errors on several of the
buildbots that the new test_close_fds_when_max_fd_is_lowered test causes.
It now leaves 10 more low fd's available.
2014-06-01 15:15:44 -07:00
Gregory P. Smith
ffd529cde1 Explicitly wait for the child instead of letting a destructor do it. 2014-06-01 13:46:54 -07:00
Gregory P. Smith
d4dcb70287 Don't restrict ourselves to a "max" fd when closing fds before exec()
when we have a way to get an actual list of all open fds from the OS.

Fixes issue #21618: The subprocess module would ignore fds that were
inherited by the calling process and already higher than POSIX resource
limits would otherwise allow.  On systems with a functioning /proc/self/fd
or /dev/fd interface the max is now ignored and all fds are closed.
2014-06-01 13:18:28 -07:00
Antoine Pitrou
c644e7c39f Issue #21396: Fix TextIOWrapper(..., write_through=True) to not force a flush() on the underlying binary stream.
Patch by akira.
2014-05-09 00:24:50 +02:00
Gregory P. Smith
ab2719f904 fix the test on windows which has different return codes from killed
children.
2014-04-23 08:38:36 -07:00
Gregory P. Smith
d65ba51e24 subprocess's Popen.wait() is now thread safe so that multiple threads
may be calling wait() or poll() on a Popen instance at the same time
without losing the Popen.returncode value.  Fixes issue #21291.
2014-04-23 00:27:17 -07:00
Gregory P. Smith
53dd8167ff Fixes issue #15798: subprocess.Popen() no longer fails if file
descriptor 0, 1 or 2 is closed. (correct fix for 3.4 this time)
2013-12-01 16:03:24 -08:00
Gregory P. Smith
54532c9742 Undo supposed fix for Issue #15798 until I understand why this is
causing test_multiprocessing_forkserver and test_multiprocessing_spawn
failures on head (3.4).
2013-12-01 00:13:35 -08:00
Gregory P. Smith
361e30c17a Undo supposed fix for Issue #15798 until I understand why this is
causing test_multiprocessing_forkserver and test_multiprocessing_spawn
failures on head (3.4).
2013-12-01 00:12:24 -08:00
Gregory P. Smith
1c27e3c7fb Fixes Issue #15798 - subprocess.Popen() no longer fails if file
descriptor 0, 1 or 2 is closed.
2013-11-30 19:04:00 -08:00
Gregory P. Smith
1eda9e7c30 Fixes Issue #15798 - subprocess.Popen() no longer fails if file
descriptor 0, 1 or 2 is closed.
2013-11-30 19:02:57 -08:00
Victor Stinner
5323fb0990 Issue #19637: fix test_undecodable_env() of test_subprocess on AIX
On AIX, the C locale encoding uses the ISO-8859-1 encoding, not ASCII.
2013-11-19 23:46:06 +01:00
Charles-François Natali
3a4586a9f9 Issue #18923: Update subprocess to use the new selectors module. 2013-11-08 19:56:59 +01:00
Tim Golden
ab7211f278 Issue #10197 Rework subprocess.get[status]output to use subprocess functionality and thus to work on Windows. Patch by Nick Coghlan. 2013-11-03 12:55:51 +00:00
Tim Golden
e004175c56 Issue #10197 Rework subprocess.get[status]output to use subprocess functionality and thus to work on Windows. Patch by Nick Coghlan. 2013-11-03 12:53:17 +00:00
Antoine Pitrou
fd4722cacf Issue #9548: Add a minimal "_bootlocale" module that is imported by the _io module instead of the full locale module. 2013-10-12 00:13:50 +02:00
Antoine Pitrou
77e904e6a6 Issue #18948: improve SuppressCoreFiles to include Windows crash popup suppression, and use it in more tests.
Patch by Valerie Lambert and Zachary Ware.
2013-10-08 23:04:32 +02:00
Antoine Pitrou
b0478b3f5f Issue #18623: Factor out the _SuppressCoreFiles context manager into test.support.
Patch by Valerie Lambert.
2013-09-06 20:50:00 +02:00
Victor Stinner
f6fa22efe0 Issue #18571: Merge duplicate test code
Merge test/subprocessdata/inherited.py into test/subprocessdata/fd_status.py
2013-09-01 10:22:41 +02:00
Antoine Pitrou
267964c837 Forward port new tests from Issue #18851. 2013-08-31 00:12:37 +02:00
Antoine Pitrou
a8392717f1 Forward port new tests from Issue #18851. 2013-08-30 23:38:13 +02:00
Gregory P. Smith
6cc50391a6 Fixes Issue #15507: test_subprocess's test_send_signal could fail if the test
runner were run in an environment where the process inherited an ignore
setting for SIGINT.  Restore the SIGINT handler to the desired
KeyboardInterrupt raising one during that test.
2013-08-29 13:39:44 -07:00
Gregory P. Smith
dee0434e2f Fixes issue #15507: test_subprocess's test_send_signal could fail if the test
runner were run in an environment where the process inherited an ignore
setting for SIGINT.  Restore the SIGINT handler to the desired
KeyboardInterrupt raising one during that test.
2013-08-29 13:35:27 -07:00
Victor Stinner
daf455554b Issue #18571: Implementation of the PEP 446: file descriptors and file handles
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
2013-08-28 00:53:59 +02:00
Charles-François Natali
a439b32cf0 Merge. 2013-08-25 18:28:44 +02:00
Charles-François Natali
249cdc39fc Issue #18763: subprocess: The file descriptors are now closed after calling the
preexec_fn callback, which may open file descriptors.
2013-08-25 18:24:45 +02:00
Ned Deily
582583bc41 Issue #17046: merge from 3.3 2013-08-02 18:05:31 -07:00
Ned Deily
e92dfbfec8 Issue #17046: Fix test_subprocess test_executable_without_cwd broken test case. 2013-08-02 18:02:21 -07:00
Antoine Pitrou
284e5ce67e Fix the RLIMIT_CORE resource lowering logic in test_subprocess.
We must only lower the soft limit, since lowering the hard limit makes it impossible to raise it back at the end.
(this could prevent core dumps from being generated when the test suite crashes)
2013-08-02 00:08:51 +02:00
Richard Oudkerk
a35a128acc Merge. 2013-06-10 16:31:39 +01:00
Richard Oudkerk
0e547b66dc Issue #18174: Fix fd leaks in tests. 2013-06-10 16:29:19 +01:00
Antoine Pitrou
dc49b2b88c Try to make test more reliable (saw some sporadic failures on buildbots) 2013-05-19 15:55:40 +02:00
Antoine Pitrou
5b6616dee3 Try to make test more reliable (saw some sporadic failures on buildbots) 2013-05-19 15:55:59 +02:00
Serhiy Storchaka
fcd9f22238 Issue #16624: subprocess.check_output now accepts an input argument,
allowing the subprocess's stdin to be provided as a (byte) string.
Patch by Zack Weinberg.
2013-04-22 20:20:54 +03:00
Gregory P. Smith
4a8ea9e2a6 Fixes issue #17488: Change the subprocess.Popen bufsize parameter default value
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.
2013-03-23 12:00:00 -07:00
Gregory P. Smith
a1b9ed32ee Fixes issue #17488: Change the subprocess.Popen bufsize parameter default value
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.
2013-03-23 11:54:22 -07:00
Gregory P. Smith
a1ed539268 Fixes issue #17488: Change the subprocess.Popen bufsize parameter default value
from unbuffered (0) to buffering (-1) to match the behavior existing code
expects and match the behavior of the subprocess module in Python 2 to avoid
introducing hard to track down bugs.
2013-03-23 11:44:25 -07:00
Ezio Melotti
c0417357d1 #11963: merge with 3.3. 2013-03-11 06:03:05 +02:00
Ezio Melotti
3300878d8c #11963: merge with 3.2. 2013-03-11 05:59:55 +02:00
Ezio Melotti
42a541bd49 #11963: remove human verification from test_parser and test_subprocess. 2013-03-11 05:53:34 +02:00
Serhiy Storchaka
b3f194d109 Issue #16903: Popen.communicate() on Unix now accepts strings when
universal_newlines is true as on Windows.
2013-02-04 16:47:39 +02:00
Charles-François Natali
6c566b3ce9 Issue #16762: Fix some test_subprocess failures on NetBSD and OpenBSD: kill()
returns ESRCH for a zombie process, which is not POSIX-compliant.
2013-01-12 16:55:31 +01:00