Fix test_sysconfig when prefix != exec-prefix (#9100).
I tested this manually; it would be great to have buildbots using installed Pythons, including Pythons configured with different prefix and exec-prefix. Reported by Zsolt Cserna.
This commit is contained in:
parent
47a4521ece
commit
de504550af
@ -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 unittest
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
@ -11,7 +7,7 @@ import subprocess
|
|||||||
import shutil
|
import shutil
|
||||||
from copy import copy, deepcopy
|
from copy import copy, deepcopy
|
||||||
|
|
||||||
from test.support import (run_unittest, TESTFN, unlink, get_attribute,
|
from test.support import (run_unittest, TESTFN, unlink,
|
||||||
captured_stdout, skip_unless_symlink)
|
captured_stdout, skip_unless_symlink)
|
||||||
|
|
||||||
import sysconfig
|
import sysconfig
|
||||||
@ -265,8 +261,15 @@ class TestSysConfig(unittest.TestCase):
|
|||||||
# is similar to the global posix_prefix one
|
# is similar to the global posix_prefix one
|
||||||
base = get_config_var('base')
|
base = get_config_var('base')
|
||||||
user = get_config_var('userbase')
|
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'):
|
for name in ('stdlib', 'platstdlib', 'purelib', 'platlib'):
|
||||||
global_path = get_path(name, 'posix_prefix')
|
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')
|
user_path = get_path(name, 'posix_user')
|
||||||
self.assertEqual(user_path, global_path.replace(base, user, 1))
|
self.assertEqual(user_path, global_path.replace(base, user, 1))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user