]> granicus.if.org Git - python/commitdiff
Issue #11377: Fix quoting on Windows in test_platform
authorVictor Stinner <victor.stinner@haypocalc.com>
Thu, 3 Mar 2011 14:07:21 +0000 (14:07 +0000)
committerVictor Stinner <victor.stinner@haypocalc.com>
Thu, 3 Mar 2011 14:07:21 +0000 (14:07 +0000)
Lib/test/test_platform.py

index 1ab0d9caa5202d1e6b3b33062c4337c8f2d46a1b..2b58ebf1cc14224a61f583787b6dbe8820f97969 100644 (file)
@@ -244,14 +244,23 @@ class PlatformTest(unittest.TestCase):
             self.assertEqual(platform._parse_release_file(input), output)
 
     def test_popen(self):
-        command = "'{}' -c  'print(\"Hello\")'".format(sys.executable)
+        mswindows = (sys.platform == "win32")
+
+        if mswindows:
+            command = '"{}" -c "print(\'Hello\')"'.format(sys.executable)
+        else:
+            command = "'{}' -c 'print(\"Hello\")'".format(sys.executable)
         with platform.popen(command) as stdout:
             hello = stdout.read().strip()
             stdout.close()
             self.assertEqual(hello, "Hello")
 
-        command = "'{}' -c  'import sys; data=sys.stdin.read(); exit(len(data))'".format(sys.executable)
         data = 'plop'
+        if mswindows:
+            command = '"{}" -c "import sys; data=sys.stdin.read(); exit(len(data))"'
+        else:
+            command = "'{}' -c 'import sys; data=sys.stdin.read(); exit(len(data))'"
+        command = command.format(sys.executable)
         with platform.popen(command, 'w') as stdin:
             stdout = stdin.write(data)
             ret = stdin.close()