summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-07-01 19:28:43 (GMT)
committerGeorg Brandl <georg@python.org>2008-07-01 19:28:43 (GMT)
commit1abcbf8e193019b16f5a7e71c176667fb679baab (patch)
tree9c475f226c72ae725f4cbfdc0613c50fd5f3b5bc
parentc22ed14ddd640f206e1e334fcb4ed4ab4de0951e (diff)
downloadcpython-1abcbf8e193019b16f5a7e71c176667fb679baab.zip
cpython-1abcbf8e193019b16f5a7e71c176667fb679baab.tar.gz
cpython-1abcbf8e193019b16f5a7e71c176667fb679baab.tar.bz2
#2683: Popen.communicate() argument must be bytes.
-rw-r--r--Lib/subprocess.py6
-rw-r--r--Lib/test/test_subprocess.py4
-rw-r--r--Misc/NEWS3
3 files changed, 5 insertions, 8 deletions
diff --git a/Lib/subprocess.py b/Lib/subprocess.py
index d9c76d8..8df1034 100644
--- a/Lib/subprocess.py
+++ b/Lib/subprocess.py
@@ -883,8 +883,6 @@ class Popen(object):
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 @@ class Popen(object):
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
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 71ae0db..fe916c2 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -302,7 +302,7 @@ class ProcessTestCase(unittest.TestCase):
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 @@ class ProcessTestCase(unittest.TestCase):
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")
diff --git a/Misc/NEWS b/Misc/NEWS
index 9914858..87f7c6b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -17,6 +17,9 @@ Core and Builtins
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.