summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorent Xicluna <florent.xicluna@gmail.com>2010-03-11 00:56:59 +0000
committerFlorent Xicluna <florent.xicluna@gmail.com>2010-03-11 00:56:59 +0000
commite58d91c8f009813dce18711d85f941dc87a7ac5f (patch)
treeb81e5f220e7d79022441f9615aff1dc998e70190
parent85677617d51f607b41ac64bf4cca8c38b6fd771a (diff)
downloadcpython-git-e58d91c8f009813dce18711d85f941dc87a7ac5f.tar.gz
Fix the test_subprocess failure when sys.executable is meaningless: '' or a directory.
It does not fix #7774.
-rw-r--r--Lib/sysconfig.py5
-rw-r--r--Lib/test/test_subprocess.py2
2 files changed, 4 insertions, 3 deletions
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index 69264d2e48..2b14bfe032 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -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))
@@ -294,7 +295,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
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index dc57c46b45..365ac91279 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -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)