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

This commit is contained in:
Ned Deily 2012-02-06 00:55:50 +01:00
parent adb87e2677
commit 2c8bf04308
4 changed files with 19 additions and 16 deletions

View File

@ -312,7 +312,7 @@ def getsitepackages():
# locations.
from sysconfig import get_config_var
framework = get_config_var("PYTHONFRAMEWORK")
if framework and "/%s.framework/"%(framework,) in prefix:
if framework:
sitepackages.append(
os.path.join("/Library", framework,
sys.version[:3], "site-packages"))

View File

@ -176,8 +176,9 @@ def _getuserbase():
if sys.platform == "darwin":
framework = get_config_var("PYTHONFRAMEWORK")
if framework:
return joinuser("~", "Library", framework, "%d.%d"%(
sys.version_info[:2]))
return env_base if env_base else \
joinuser("~", "Library", framework, "%d.%d"
% (sys.version_info[:2]))
return env_base if env_base else joinuser("~", ".local")

View File

@ -228,7 +228,19 @@ class HelperFunctionsTests(unittest.TestCase):
self.assertEqual(len(dirs), 1)
wanted = os.path.join('xoxo', 'Lib', 'site-packages')
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 == '/':
# OS X non-framwework builds, Linux, FreeBSD, etc
self.assertEqual(len(dirs), 2)
wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
'site-packages')
@ -236,24 +248,12 @@ class HelperFunctionsTests(unittest.TestCase):
wanted = os.path.join('xoxo', 'lib', 'site-python')
self.assertEqual(dirs[1], wanted)
else:
# other platforms
self.assertEqual(len(dirs), 2)
self.assertEqual(dirs[0], 'xoxo')
wanted = os.path.join('xoxo', 'lib', 'site-packages')
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):
"""Helper class for handling testing of .pth files"""

View File

@ -90,6 +90,8 @@ Core and Builtins
Library
-------
- Issue #10881: Fix test_site failures with OS X framework builds.
- Issue #964437 Make IDLE help window non-modal.
Patch by Guilherme Polo and Roger Serwy.