From: Éric Araujo Date: Fri, 7 Oct 2011 23:55:07 +0000 (+0200) Subject: Fix test_sysconfig when prefix != exec-prefix (#9100). X-Git-Tag: v3.2.3rc1~514^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=de504550afc211dbc7c203fac0646f5e1329a158;p=thirdparty%2FPython%2Fcpython.git 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. --- diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py index b2a3224b1a4a..aabb6fa72a89 100644 --- a/Lib/test/test_sysconfig.py +++ b/Lib/test/test_sysconfig.py @@ -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 @@ -11,7 +7,7 @@ import subprocess import shutil 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) import sysconfig @@ -265,8 +261,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))