]> granicus.if.org Git - python/commitdiff
Merged revisions 78830 via svnmerge from
authorFlorent Xicluna <florent.xicluna@gmail.com>
Thu, 11 Mar 2010 01:00:26 +0000 (01:00 +0000)
committerFlorent Xicluna <florent.xicluna@gmail.com>
Thu, 11 Mar 2010 01:00:26 +0000 (01:00 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78830 | florent.xicluna | 2010-03-11 01:56:59 +0100 (jeu, 11 mar 2010) | 3 lines

  Fix the test_subprocess failure when sys.executable is meaningless: '' or a directory.
  It does not fix #7774.
........

Lib/sysconfig.py
Lib/test/test_subprocess.py

index 619e4583bd05efe1e1fcff5a3171b4ee958f2d19..33a13b6f5ba5755081a82939a8320b563dee8870 100644 (file)
@@ -84,7 +84,8 @@ _PREFIX = os.path.normpath(sys.prefix)
 _EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
 _CONFIG_VARS = None
 _USER_BASE = None
-_PROJECT_BASE = os.path.dirname(realpath(sys.executable))
+# Note: sys.executable can be '' or even a directory, until #7774 is fixed.
+_PROJECT_BASE = realpath(os.path.dirname(sys.executable))
 
 if os.name == "nt" and "pcbuild" in _PROJECT_BASE[-8:].lower():
     _PROJECT_BASE = realpath(os.path.join(_PROJECT_BASE, pardir))
@@ -296,7 +297,7 @@ def _init_non_posix(vars):
     vars['SO'] = '.pyd'
     vars['EXE'] = '.exe'
     vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT
-    vars['BINDIR'] = os.path.dirname(realpath(sys.executable))
+    vars['BINDIR'] = realpath(os.path.dirname(sys.executable))
 
 #
 # public APIs
index dff9012cdee0ace52ee9bbfb0c100f3f364ddc3b..64bfabb4569968ef25216510a22e2415787a4d8b 100644 (file)
@@ -135,7 +135,7 @@ class ProcessTestCase(unittest.TestCase):
         self.assertEqual(p.stderr, None)
 
     def test_executable_with_cwd(self):
-        python_dir = os.path.dirname(os.path.realpath(sys.executable))
+        python_dir = os.path.realpath(os.path.dirname(sys.executable))
         p = subprocess.Popen(["somethingyoudonthave", "-c",
                               "import sys; sys.exit(47)"],
                              executable=sys.executable, cwd=python_dir)