[Python-3000-checkins] r64621 - in python/branches/py3k: Lib/subprocess.py Lib/test/test_subprocess.py Misc/NEWS
georg.brandl
python-3000-checkins at python.org
Tue Jul 1 21:28:43 CEST 2008
Author: georg.brandl
Date: Tue Jul 1 21:28:43 2008
New Revision: 64621
Log:
#2683: Popen.communicate() argument must be bytes.
Modified:
python/branches/py3k/Lib/subprocess.py
python/branches/py3k/Lib/test/test_subprocess.py
python/branches/py3k/Misc/NEWS
Modified: python/branches/py3k/Lib/subprocess.py
==============================================================================
--- python/branches/py3k/Lib/subprocess.py (original)
+++ python/branches/py3k/Lib/subprocess.py Tue Jul 1 21:28:43 2008
@@ -883,8 +883,6 @@
if self.stdin:
if input is not None:
- if isinstance(input, str):
- input = input.encode()
self.stdin.write(input)
self.stdin.close()
@@ -1129,10 +1127,6 @@
def _communicate(self, input):
- if self.stdin:
- if isinstance(input, str): # Unicode
- input = input.encode("utf-8") # XXX What else?
- input = bytes(input)
read_set = []
write_set = []
stdout = None # Return
Modified: python/branches/py3k/Lib/test/test_subprocess.py
==============================================================================
--- python/branches/py3k/Lib/test/test_subprocess.py (original)
+++ python/branches/py3k/Lib/test/test_subprocess.py Tue Jul 1 21:28:43 2008
@@ -302,7 +302,7 @@
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
- (stdout, stderr) = p.communicate("banana")
+ (stdout, stderr) = p.communicate(b"banana")
self.assertEqual(stdout, b"banana")
self.assertEqual(remove_stderr_debug_decorations(stderr),
b"pineapple")
@@ -420,7 +420,7 @@
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
- data = p.communicate("lime")[0]
+ data = p.communicate(b"lime")[0]
self.assertEqual(data, b"lime")
Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS (original)
+++ python/branches/py3k/Misc/NEWS Tue Jul 1 21:28:43 2008
@@ -17,6 +17,9 @@
Library
-------
+- Issue #2683: Fix inconsistency in subprocess.Popen.communicate(): the
+ argument now must be a bytes object in any case.
+
- Issue #3145: help("modules whatever") failed when trying to load the source
code of every single module of the standard library, including invalid files
used in the test suite.
More information about the Python-3000-checkins
mailing list