[Python-3000-checkins] r57589 - in python/branches/py3k/Lib: subprocess.py test/test_subprocess.py

guido.van.rossum python-3000-checkins at python.org
Tue Aug 28 01:58:21 CEST 2007


Author: guido.van.rossum
Date: Tue Aug 28 01:58:21 2007
New Revision: 57589

Modified:
   python/branches/py3k/Lib/subprocess.py
   python/branches/py3k/Lib/test/test_subprocess.py
Log:
More str/bytes goodness.


Modified: python/branches/py3k/Lib/subprocess.py
==============================================================================
--- python/branches/py3k/Lib/subprocess.py	(original)
+++ python/branches/py3k/Lib/subprocess.py	Tue Aug 28 01:58:21 2007
@@ -553,8 +553,8 @@
 
 
     def _translate_newlines(self, data):
-        data = data.replace("\r\n", "\n")
-        data = data.replace("\r", "\n")
+        data = data.replace(b"\r\n", b"\n")
+        data = data.replace(b"\r", b"\n")
         return str(data)
 
 

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 Aug 28 01:58:21 2007
@@ -118,7 +118,7 @@
         p = subprocess.Popen([sys.executable, "-c",
                          'import sys; sys.exit(sys.stdin.read() == "pear")'],
                         stdin=subprocess.PIPE)
-        p.stdin.write("pear")
+        p.stdin.write(b"pear")
         p.stdin.close()
         p.wait()
         self.assertEqual(p.returncode, 1)
@@ -138,7 +138,7 @@
     def test_stdin_fileobj(self):
         # stdin is set to open file object
         tf = tempfile.TemporaryFile()
-        tf.write("pear")
+        tf.write(b"pear")
         tf.seek(0)
         p = subprocess.Popen([sys.executable, "-c",
                          'import sys; sys.exit(sys.stdin.read() == "pear")'],
@@ -254,7 +254,8 @@
                          stdout=subprocess.PIPE,
                          cwd=tmpdir)
         normcase = os.path.normcase
-        self.assertEqual(normcase(p.stdout.read()), bytes(normcase(tmpdir)))
+        self.assertEqual(normcase(p.stdout.read().decode("utf-8")),
+                         normcase(tmpdir))
 
     def test_env(self):
         newenv = os.environ.copy()
@@ -270,7 +271,7 @@
         p = subprocess.Popen([sys.executable, "-c",
                               'import sys; sys.exit(sys.stdin.read() == "pear")'],
                              stdin=subprocess.PIPE)
-        p.communicate("pear")
+        p.communicate(b"pear")
         self.assertEqual(p.returncode, 1)
 
     def test_communicate_stdout(self):
@@ -289,7 +290,7 @@
         self.assertEqual(stdout, None)
         # When running with a pydebug build, the # of references is outputted
         # to stderr, so just check if stderr at least started with "pinapple"
-        self.assert_(stderr.startswith("pineapple"))
+        self.assert_(stderr.startswith(b"pineapple"))
 
     def test_communicate(self):
         p = subprocess.Popen([sys.executable, "-c",
@@ -343,8 +344,8 @@
                          stdin=subprocess.PIPE,
                          stdout=subprocess.PIPE,
                          stderr=subprocess.PIPE)
-        p.stdin.write("banana")
-        (stdout, stderr) = p.communicate("split")
+        p.stdin.write(b"banana")
+        (stdout, stderr) = p.communicate(b"split")
         self.assertEqual(stdout, b"bananasplit")
         self.assertEqual(remove_stderr_debug_decorations(stderr), "")
 


More information about the Python-3000-checkins mailing list