Repository navigation
Various test failures if PYTHONUSERBASE is not canonicalized #77403
Description
Activity
Setting PYTHONUSERBASE=/tmp/x/.. causes the Python test suite to fail:
======================================================================
FAIL: test_user_similar (test.test_sysconfig.TestSysConfig)
----------------------------------------------------------------------Traceback (most recent call last): File "/usr/local/src/sage-config/local/src/cpython/Lib/test/test_sysconfig.py", line 276, in test_user_similar self.assertEqual(user_path, global_path.replace(base, user, 1)) AssertionError: '/tmp/lib/python3.8' != '/tmp/x/../lib/python3.8' - /tmp/lib/python3.8 + /tmp/x/../lib/python3.8 ? +++++
======================================================================
FAIL: test_get_path (test.test_site.HelperFunctionsTests)
----------------------------------------------------------------------Traceback (most recent call last): File "/usr/local/src/sage-config/local/src/cpython/Lib/test/test_site.py", line 192, in test_get_path sysconfig.get_path('purelib', scheme)) AssertionError: '/tmp/x/../lib/python3.8/site-packages' != '/tmp/lib/python3.8/site-packages' - /tmp/x/../lib/python3.8/site-packages ?
+ /tmp/lib/python3.8/site-packages
======================================================================
FAIL: test_s_option (test.test_site.HelperFunctionsTests)
----------------------------------------------------------------------Traceback (most recent call last): File "/usr/local/src/sage-config/local/src/cpython/Lib/test/test_site.py", line 199, in test_s_option self.assertIn(usersite, sys.path) AssertionError: '/tmp/x/../lib/python3.8/site-packages' not found in ['/usr/local/src/sage-config/local/src/cpython', '/usr/local/src/sage-config/local/lib/python38.zip', '/usr/local/src/sage-config/local/src/cpython/Lib', '/usr/local/src/sage-config/local/src/cpython/build/lib.linux-x86_64-3.8', '/usr/local/src/sage-config/local/lib/python3.8/site-packages']
- added3.8 (EOL)end of lifeend of lifetestsTests in the Lib/test dirTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
on Apr 4, 2018 Would you care to provide a PR fix with a test?
akshaysharma096 commented
on Apr 9, 2018 akshaysharma096mannequinMannequinMore actionsWhat are the possible cases we can have here ?
I tested on a map and I only got the failure in test_s_option, which seems right because that directory is indeed not in sys.path.
FWIW, I still see the same failures with 3.10.2 on a current macOS 12.2 system.
I tested 3.11 (on a Mac 11.6).
I tested 3.11 (on a Mac 11.6).
It still fails for me on current main HEAD (on 12.2 FWIW):
$ ./configure --prefix=/tmp/p $ make -j6 $ mkdir /tmp/x $ export PYTHONUSERBASE=/tmp/x/.. $ ./python -m test -w test_site test_sysconfig Raised RLIMIT_NOFILE: 256 -> 1024 0:00:00 load avg: 0.99 Run tests sequentially 0:00:00 load avg: 0.99 [1/2] test_site test test_site failed -- multiple errors occurred; run in verbose mode for details 0:00:00 load avg: 0.99 [2/2/1] test_sysconfig -- test_site failed (2 failures) test test_sysconfig failed -- Traceback (most recent call last): File "/Users/nad/Projects/PyDev/active/dev/3x/source/Lib/test/test_sysconfig.py", line 314, in test_user_similar self.assertEqual(user_path, expected) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: '/tmp/lib/python3.11' != '/tmp/x/../lib/python3.11' - /tmp/lib/python3.11 + /tmp/x/../lib/python3.11 ? +++++
test_sysconfig failed (1 failure)
== Tests result: FAILURE ==
2 tests failed:
test_site test_sysconfig
0:00:00 load avg: 0.99
0:00:00 load avg: 0.99 Re-running failed tests in verbose mode
0:00:00 load avg: 0.99 Re-running test_site in verbose mode (matching: test_get_path, test_s_option)
test_get_path (test.test_site.HelperFunctionsTests) ... FAIL
test_s_option (test.test_site.HelperFunctionsTests) ... FAIL======================================================================
FAIL: test_get_path (test.test_site.HelperFunctionsTests)
----------------------------------------------------------------------Traceback (most recent call last): File "/Users/nad/Projects/PyDev/active/dev/3x/source/Lib/test/test_site.py", line 209, in test_get_path self.assertEqual(site._get_path(site._getuserbase()), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: '/tmp/x/../lib/python/site-packages' != '/tmp/lib/python/site-packages' - /tmp/x/../lib/python/site-packages ?
+ /tmp/lib/python/site-packages
======================================================================
FAIL: test_s_option (test.test_site.HelperFunctionsTests)
----------------------------------------------------------------------Traceback (most recent call last): File "/Users/nad/Projects/PyDev/active/dev/3x/source/Lib/test/test_site.py", line 218, in test_s_option self.assertIn(usersite, sys.path) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: '/tmp/x/../lib/python3.11/site-packages' not found in ['/Users/nad/Projects/PyDev/active/dev/3x/source', '/tmp/p/lib/python311.zip', '/Users/nad/Projects/PyDev/active/dev/3x/source/Lib', '/Users/nad/Projects/PyDev/active/dev/3x/source/build/lib.macosx-12.2-x86_64-3.11', '/tmp/lib/python3.11/site-packages']
Ran 2 tests in 0.002s
FAILED (failures=2)
test test_site failed
0:00:00 load avg: 0.99 Re-running test_sysconfig in verbose mode (matching: test_user_similar)
test_user_similar (test.test_sysconfig.TestSysConfig) ... FAIL======================================================================
FAIL: test_user_similar (test.test_sysconfig.TestSysConfig)
----------------------------------------------------------------------Traceback (most recent call last): File "/Users/nad/Projects/PyDev/active/dev/3x/source/Lib/test/test_sysconfig.py", line 314, in test_user_similar self.assertEqual(user_path, expected) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: '/tmp/lib/python3.11' != '/tmp/x/../lib/python3.11' - /tmp/lib/python3.11 + /tmp/x/../lib/python3.11 ? +++++
Ran 1 test in 0.001s
FAILED (failures=1)
test test_sysconfig failed
2 tests failed again:
test_site test_sysconfig== Tests result: FAILURE then FAILURE ==
2 tests failed:
test_site test_sysconfig2 re-run tests:
test_site test_sysconfigTotal duration: 350 ms
Tests result: FAILURE then FAILUREMaybe I did something wrong. Will check tomorrow. In the meantime I’m updating the versions. Thanks for double checking.
- added3.9 (EOL)end of lifeend of life3.10 (EOL)end of lifeend of life3.11only security fixesonly security fixesand removed3.8 (EOL)end of lifeend of life
on Jan 31, 2022 - added3.12only security fixesonly security fixesand removed3.9 (EOL)end of lifeend of life
on Jun 16, 2022 - added a commit that references this issue
on Jun 17, 2022 - added a commit that references this issue
on Jun 26, 2022
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields: