Commit graph

378 commits

Author SHA1 Message Date
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
Brian Curtin
3c6a951cfb Add cleanups to stdout/stderr pipes to remove ResourceWarnings. 2010-11-05 03:58:52 +00:00
Benjamin Peterson
cc221b2411 close some more files 2010-10-31 02:06:21 +00:00
Victor Stinner
f6782ac0b6 test_subprocess: use surrogateescape error handler to write shell scripts
test_args_string() and test_call_string() create shell scripts including the
path to the Python executable: use surrogateescape to encode paths including
surrogate characters.
2010-10-16 23:46:43 +00:00
Victor Stinner
89f3ad10d2 test_subprocess doesn't need to C locale to test os.environb
Improve also the comment to explain why C locale is needed to test os.environ.
2010-10-14 10:43:31 +00:00
Victor Stinner
ebc78d23ef test_subprocess: use C locale to get ascii locale encoding 2010-10-14 10:38:17 +00:00
Victor Stinner
8f6b6b0cc3 Issue #9992: Remove PYTHONFSENCODING environment variable. 2010-10-13 22:02:27 +00:00
Antoine Pitrou
a4024e2dd5 Make _kill_process more robust under Windows too (see issue #8432) 2010-09-24 18:57:01 +00:00
Antoine Pitrou
4a5dd5c576 Merged revisions 84909-84913 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84909 | antoine.pitrou | 2010-09-20 00:46:05 +0200 (lun., 20 sept. 2010) | 3 lines

  Try to fix test_subprocess on "x86 debian parallel 3.x" buildbot
........
  r84910 | antoine.pitrou | 2010-09-20 01:06:53 +0200 (lun., 20 sept. 2010) | 3 lines

  Try to make signal-sending tests in test_subprocess more robust on slow machines
........
  r84911 | antoine.pitrou | 2010-09-20 01:28:30 +0200 (lun., 20 sept. 2010) | 3 lines

  Make error more explicit in test_finalize_with_trace
........
  r84912 | antoine.pitrou | 2010-09-20 02:12:19 +0200 (lun., 20 sept. 2010) | 3 lines

  Try to fix buildbot failure (#9902)
........
  r84913 | antoine.pitrou | 2010-09-20 03:33:21 +0200 (lun., 20 sept. 2010) | 3 lines

  Try a more robust implementation of _kill_process
........
2010-09-20 11:17:39 +00:00
Antoine Pitrou
3d8580f690 Try a more robust implementation of _kill_process 2010-09-20 01:33:21 +00:00
Antoine Pitrou
84e751a442 Try to fix buildbot failure (#9902) 2010-09-20 00:12:19 +00:00
Antoine Pitrou
fedd481596 Try to make signal-sending tests in test_subprocess more robust on slow machines 2010-09-19 23:06:53 +00:00
Antoine Pitrou
fb8db8f635 Try to fix test_subprocess on "x86 debian parallel 3.x" buildbot 2010-09-19 22:46:05 +00:00
Antoine Pitrou
6fab1f69e2 Merged revisions 84883 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84883 | antoine.pitrou | 2010-09-19 00:38:48 +0200 (dim., 19 sept. 2010) | 3 lines

  Issue #9895: speed up test_subprocess
........
2010-09-18 22:40:56 +00:00
Antoine Pitrou
8db3027e6a Issue #9895: speed up test_subprocess 2010-09-18 22:38:48 +00:00
Antoine Pitrou
f61045fd15 Merged revisions 84878 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84878 | antoine.pitrou | 2010-09-18 19:56:02 +0200 (sam., 18 sept. 2010) | 5 lines

  Issue #9894: Do not hardcode ENOENT in test_subprocess.

  (GNU/Hurd is not dead)
........
2010-09-18 18:16:39 +00:00
Antoine Pitrou
679e0f2328 Issue #9894: Do not hardcode ENOENT in test_subprocess.
(GNU/Hurd is not dead)
2010-09-18 17:56:02 +00:00
Brian Curtin
f263c0594c Merged revisions 83983 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83983 | brian.curtin | 2010-08-13 15:42:57 -0500 (Fri, 13 Aug 2010) | 3 lines

  Fix #9588. Add sys.executable to two shell=True tests.
........
2010-08-13 20:59:27 +00:00
Brian Curtin
d835cf1c84 Fix #9588. Add sys.executable to two shell=True tests. 2010-08-13 20:42:57 +00:00
Tim Golden
595c8d34a3 #2304: fix incorporating Eric Smith's .format suggestion and tested on Ubuntu as well as Windows 2010-08-12 09:45:25 +00:00
Tim Golden
126c2960ca #2304: fix incorporating Eric Smith's .format suggestion and tested on Ubuntu as well as Windows 2010-08-11 14:20:40 +00:00
Benjamin Peterson
a0baf55b2b revert r83831, unix test breakage 2010-08-08 19:17:15 +00:00
Benjamin Peterson
1a0a737b13 revert r83830, breaks tests on unixes 2010-08-08 19:08:44 +00:00
Tim Golden
818afb55c9 Issue #2304: Add additional quotes when using cmd shell on Windows. Original patch from Gabriel Genellina 2010-08-08 16:18:18 +00:00
Tim Golden
e3f76168a9 Issue #2304: Add additional quotes when using cmd shell on Windows. Original patch from Gabriel Genellina 2010-08-08 16:17:48 +00:00
Tim Golden
40b3744efa Issue #3210: Ensure stdio handles are closed if CreateProcess fails 2010-08-06 13:20:12 +00:00
Tim Golden
af5ac3974b Issue #3210: Ensure stdio handles are closed if CreateProcess fails 2010-08-06 13:03:56 +00:00
Antoine Pitrou
62f68ed31f Factor out stripping of interpreter debug output in test.support.strip_python_stderr() 2010-08-04 11:48:56 +00:00
Ronald Oussoren
d7eb3a8d73 Merged revisions 83067 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83067 | ronald.oussoren | 2010-07-23 10:50:05 +0100 (Fri, 23 Jul 2010) | 8 lines

  Workaround for issue 4047: in some configurations of
  the Crash Reporter on OSX test_subprocess will trigger
  the reporter.

  This patch prints a warning when the Crash Reporter will
  get triggered intentionally, which should avoid confusing
  people.
........
2010-07-23 10:35:20 +00:00
Ronald Oussoren
102d11a6d6 Workaround for issue 4047: in some configurations of
the Crash Reporter on OSX test_subprocess will trigger
the reporter.

This patch prints a warning when the Crash Reporter will
get triggered intentionally, which should avoid confusing
people.
2010-07-23 09:50:05 +00:00
Stefan Krah
8db99c8995 Merged revisions 82971 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r82971 | stefan.krah | 2010-07-19 16:20:53 +0200 (Mon, 19 Jul 2010) | 4 lines

  Issue #9265: Incorrect name passed as arg[0] when shell=True
  and executable specified.
........
2010-07-19 14:39:36 +00:00
Stefan Krah
9542cc6eb5 Issue #9265: Incorrect name passed as arg[0] when shell=True
and executable specified.
2010-07-19 14:20:53 +00:00
Jean-Paul Calderone
2323d20289 Merged revisions 82076 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r82076 | jean-paul.calderone | 2010-06-18 16:03:54 -0400 (Fri, 18 Jun 2010) | 19 lines

  Merged revisions 82075 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r82075 | jean-paul.calderone | 2010-06-18 16:00:17 -0400 (Fri, 18 Jun 2010) | 12 lines

    Revert r60115

    This revision introduced quoting for strings containing | based
    on a misunderstanding of the commonly used quoting rules used
    on Windows.

    | is interpreted by cmd.exe, not by the MS C runtime argv initializer.
    It only needs to be quoted if it is part of an argument passed through
    cmd.exe.

    See issue1300, issue7839, and issue8972.
  ........
................
2010-06-18 20:11:43 +00:00
Jean-Paul Calderone
1ddd4075bf Merged revisions 82075 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r82075 | jean-paul.calderone | 2010-06-18 16:00:17 -0400 (Fri, 18 Jun 2010) | 12 lines

  Revert r60115

  This revision introduced quoting for strings containing | based
  on a misunderstanding of the commonly used quoting rules used
  on Windows.

  | is interpreted by cmd.exe, not by the MS C runtime argv initializer.
  It only needs to be quoted if it is part of an argument passed through
  cmd.exe.

  See issue1300, issue7839, and issue8972.
........
2010-06-18 20:03:54 +00:00
Victor Stinner
86c73bf0fc Issue #8780: Only backport the new test, the fix is not needed
Recorded merge of revisions 81403 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r81403 | victor.stinner | 2010-05-21 22:13:12 +0200 (ven., 21 mai 2010) | 5 lines

  Issue #8780: Fix a regression introduced by r78946 in subprocess on Windows

  Ensure that stdout / stderr is inherited from the parent if stdout=PIPE /
  stderr=PIPE is not used.
........
2010-05-21 20:39:17 +00:00
Victor Stinner
b369358ee4 Issue #8780: Fix a regression introduced by r78946 in subprocess on Windows
Ensure that stdout / stderr is inherited from the parent if stdout=PIPE /
stderr=PIPE is not used.
2010-05-21 20:13:12 +00:00
Victor Stinner
b745a74c99 Issue #8513: os.get_exec_path() supports b'PATH' key and bytes value.
subprocess.Popen() and os._execvpe() support bytes program name. Add
os.supports_bytes_environ flag: True if the native OS type of the environment
is bytes (eg. False on Windows).
2010-05-18 17:17:23 +00:00
Victor Stinner
84ae118006 Issue #8603: Create a bytes version of os.environ for Unix
Create os.environb mapping and os.getenvb() function, os.unsetenv() encodes str
argument to the file system encoding with the surrogateescape error handler
(instead of utf8/strict) and accepts bytes, and posix.environ keys and values
are bytes.
2010-05-06 22:05:07 +00:00
Victor Stinner
097d1b709a test_subprocess: test_undecodable_env() is specific to POSIX system
The bug was introduced by the backport of r80421 (r80494).
2010-04-27 18:29:45 +00:00
Victor Stinner
a27dcb76ee Merged revisions 80421,80424 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r80421 | victor.stinner | 2010-04-23 23:41:56 +0200 (ven., 23 avril 2010) | 3 lines

  Issue #8391: os.execvpe() and os.getenv() supports unicode with surrogates and
  bytes strings for environment keys and values
........
  r80424 | victor.stinner | 2010-04-24 00:55:39 +0200 (sam., 24 avril 2010) | 13 lines

  Fix test_undecodable_env of test_subproces for non-ASCII directory

  This test was introduced by r80421 (issue #8391).

  The fix: copy the environment variables instead of starting Python in an empty
  environement. In an empty environment, the locale is C and Python uses ASCII
  for the default file system encoding. The non-ASCII directory will be encoded
  using surrogates, but Python3 is unable to load a module or package with a
  filename using surrogates.

  See issue #8242 for more information about running Python3 with a non-ascii
  directory in an empty environement.
........
2010-04-25 22:39:07 +00:00
Victor Stinner
ce2d24d549 Fix test_undecodable_env of test_subproces for non-ASCII directory
This test was introduced by r80421 (issue #8391).

The fix: copy the environment variables instead of starting Python in an empty
environement. In an empty environment, the locale is C and Python uses ASCII
for the default file system encoding. The non-ASCII directory will be encoded
using surrogates, but Python3 is unable to load a module or package with a
filename using surrogates.

See issue #8242 for more information about running Python3 with a non-ascii
directory in an empty environement.
2010-04-23 22:55:39 +00:00
Victor Stinner
13bb71c38f Issue #8391: os.execvpe() and os.getenv() supports unicode with surrogates and
bytes strings for environment keys and values
2010-04-23 21:41:56 +00:00