Fix test_sysconfig when prefix != exec-prefix (#9100).

Reported by Zsolt Cserna.
This commit is contained in:
Éric Araujo 2011-10-08 02:49:12 +02:00
parent 5fb16cd1d2
commit 1a1a8a0e31
1 changed files with 8 additions and 5 deletions

View File

@ -1,9 +1,5 @@
"""Tests for 'site'.
"""Tests for sysconfig."""
Tests assume the initial paths in sys.path once the interpreter has begun
executing have not been removed.
"""
import unittest
import sys
import os
@ -259,8 +255,15 @@ class TestSysConfig(unittest.TestCase):
# is similar to the global posix_prefix one
base = get_config_var('base')
user = get_config_var('userbase')
# the global scheme mirrors the distinction between prefix and
# exec-prefix but not the user scheme, so we have to adapt the paths
# before comparing (issue #9100)
adapt = sys.prefix != sys.exec_prefix
for name in ('stdlib', 'platstdlib', 'purelib', 'platlib'):
global_path = get_path(name, 'posix_prefix')
if adapt:
global_path = global_path.replace(sys.exec_prefix, sys.prefix)
base = base.replace(sys.exec_prefix, sys.prefix)
user_path = get_path(name, 'posix_user')
self.assertEqual(user_path, global_path.replace(base, user, 1))