Commit 732379b4 authored by Ned Deily's avatar Ned Deily

Issue #10881: Fix test_site failures with OS X framework builds.

parent 998179e2
...@@ -312,7 +312,7 @@ def getsitepackages(): ...@@ -312,7 +312,7 @@ def getsitepackages():
# locations. # locations.
from sysconfig import get_config_var from sysconfig import get_config_var
framework = get_config_var("PYTHONFRAMEWORK") framework = get_config_var("PYTHONFRAMEWORK")
if framework and "/%s.framework/"%(framework,) in prefix: if framework:
sitepackages.append( sitepackages.append(
os.path.join("/Library", framework, os.path.join("/Library", framework,
sys.version[:3], "site-packages")) sys.version[:3], "site-packages"))
......
...@@ -176,8 +176,9 @@ def _getuserbase(): ...@@ -176,8 +176,9 @@ def _getuserbase():
if sys.platform == "darwin": if sys.platform == "darwin":
framework = get_config_var("PYTHONFRAMEWORK") framework = get_config_var("PYTHONFRAMEWORK")
if framework: if framework:
return joinuser("~", "Library", framework, "%d.%d"%( return env_base if env_base else \
sys.version_info[:2])) joinuser("~", "Library", framework, "%d.%d"
% (sys.version_info[:2]))
return env_base if env_base else joinuser("~", ".local") return env_base if env_base else joinuser("~", ".local")
......
...@@ -228,7 +228,19 @@ class HelperFunctionsTests(unittest.TestCase): ...@@ -228,7 +228,19 @@ class HelperFunctionsTests(unittest.TestCase):
self.assertEqual(len(dirs), 1) self.assertEqual(len(dirs), 1)
wanted = os.path.join('xoxo', 'Lib', 'site-packages') wanted = os.path.join('xoxo', 'Lib', 'site-packages')
self.assertEqual(dirs[0], wanted) self.assertEqual(dirs[0], wanted)
elif (sys.platform == "darwin" and
sysconfig.get_config_var("PYTHONFRAMEWORK")):
# OS X framework builds
site.PREFIXES = ['Python.framework']
dirs = site.getsitepackages()
self.assertEqual(len(dirs), 3)
wanted = os.path.join('/Library',
sysconfig.get_config_var("PYTHONFRAMEWORK"),
sys.version[:3],
'site-packages')
self.assertEqual(dirs[2], wanted)
elif os.sep == '/': elif os.sep == '/':
# OS X non-framwework builds, Linux, FreeBSD, etc
self.assertEqual(len(dirs), 2) self.assertEqual(len(dirs), 2)
wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3], wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
'site-packages') 'site-packages')
...@@ -236,24 +248,12 @@ class HelperFunctionsTests(unittest.TestCase): ...@@ -236,24 +248,12 @@ class HelperFunctionsTests(unittest.TestCase):
wanted = os.path.join('xoxo', 'lib', 'site-python') wanted = os.path.join('xoxo', 'lib', 'site-python')
self.assertEqual(dirs[1], wanted) self.assertEqual(dirs[1], wanted)
else: else:
# other platforms
self.assertEqual(len(dirs), 2) self.assertEqual(len(dirs), 2)
self.assertEqual(dirs[0], 'xoxo') self.assertEqual(dirs[0], 'xoxo')
wanted = os.path.join('xoxo', 'lib', 'site-packages') wanted = os.path.join('xoxo', 'lib', 'site-packages')
self.assertEqual(dirs[1], wanted) self.assertEqual(dirs[1], wanted)
# let's try the specific Apple location
if (sys.platform == "darwin" and
sysconfig.get_config_var("PYTHONFRAMEWORK")):
site.PREFIXES = ['Python.framework']
dirs = site.getsitepackages()
self.assertEqual(len(dirs), 4)
wanted = os.path.join('~', 'Library', 'Python',
sys.version[:3], 'site-packages')
self.assertEqual(dirs[2], os.path.expanduser(wanted))
wanted = os.path.join('/Library', 'Python', sys.version[:3],
'site-packages')
self.assertEqual(dirs[3], wanted)
class PthFile(object): class PthFile(object):
"""Helper class for handling testing of .pth files""" """Helper class for handling testing of .pth files"""
......
...@@ -90,6 +90,8 @@ Core and Builtins ...@@ -90,6 +90,8 @@ Core and Builtins
Library Library
------- -------
- Issue #10881: Fix test_site failures with OS X framework builds.
- Issue #964437 Make IDLE help window non-modal. - Issue #964437 Make IDLE help window non-modal.
Patch by Guilherme Polo and Roger Serwy. Patch by Guilherme Polo and Roger Serwy.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment