bpo-44860: Update test_sysconfig for posix_user platlib (GH-28235) (GH-28251)
Update test_sysconfig.test_user_similar() for the posix_user scheme:
"platlib" doesn't use sys.platlibdir.
(cherry picked from commit 49acac00c08838d8080ce00d02c05284b94f8fb2)
Co-authored-by: Victor Stinner <vstinner@python.org>
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index b8b9add..9408657 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -296,7 +296,17 @@ def test_user_similar(self):
base = base.replace(sys.base_prefix, sys.prefix)
if HAS_USER_BASE:
user_path = get_path(name, 'posix_user')
- self.assertEqual(user_path, global_path.replace(base, user, 1))
+ expected = global_path.replace(base, user, 1)
+ # bpo-44860: platlib of posix_user doesn't use sys.platlibdir,
+ # whereas posix_prefix does.
+ if name == 'platlib':
+ # Replace "/lib64/python3.11/site-packages" suffix
+ # with "/lib/python3.11/site-packages".
+ py_version_short = sysconfig.get_python_version()
+ suffix = f'python{py_version_short}/site-packages'
+ expected = expected.replace(f'/{sys.platlibdir}/{suffix}',
+ f'/lib/{suffix}')
+ self.assertEqual(user_path, expected)
def test_main(self):
# just making sure _main() runs and returns things in the stdout