Patch #813200: Quote executable path on Windows. Fixes #811082.
Backported to 2.3.
diff --git a/Lib/test/test_tempfile.py b/Lib/test/test_tempfile.py
index d88d50f..d014ee8 100644
--- a/Lib/test/test_tempfile.py
+++ b/Lib/test/test_tempfile.py
@@ -293,8 +293,16 @@
         tester = os.path.join(os.path.dirname(os.path.abspath(me)),
                               "tf_inherit_check.py")
 
-        retval = os.spawnl(os.P_WAIT, sys.executable,
-                           sys.executable, tester, v, fd)
+        # On Windows a spawn* /path/ with embedded spaces shouldn't be quoted,
+        # but an arg with embedded spaces should be decorated with double
+        # quotes on each end
+        if sys.platform in ('win32'):
+            decorated = '"%s"' % sys.executable
+            tester = '"%s"' % tester
+        else:
+            decorated = sys.executable
+
+        retval = os.spawnl(os.P_WAIT, sys.executable, decorated, tester, v, fd)
         self.failIf(retval < 0,
                     "child process caught fatal signal %d" % -retval)
         self.failIf(retval > 0, "child process reports failure")