# HG changeset patch # User Augie Fackler # Date 2016-11-10 21:07:24 # Node ID 270b077d434ba4888bf693c7230179150e9c2b6c # Parent 1156ec81f70907ff843ca30bb81b4ef59b9b7068 run-tests: forward Python USER_BASE from site (issue5425) We do this so that any linters installed via pip install --user don't break. See https://docs.python.org/2/library/site.html#site.USER_BASE for a description of what this nonsense is all about. An alternative would be to not set HOME, but that'll cause other problems (see issue2707), or to forward every single path entry from sys.path in PYTHONPATH (which seems sketchy in its own way). diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -58,6 +58,11 @@ import signal import socket import subprocess import sys +try: + import sysconfig +except ImportError: + # sysconfig doesn't exist in Python 2.6 + sysconfig = None import tempfile import threading import time @@ -818,6 +823,8 @@ class Test(unittest.TestCase): offset = '' if i == 0 else '%s' % i env["HGPORT%s" % offset] = '%s' % (self._startport + i) env = os.environ.copy() + if sysconfig is not None: + env['PYTHONUSERBASE'] = sysconfig.get_config_var('userbase') env['TESTTMP'] = self._testtmp env['HOME'] = self._testtmp # This number should match portneeded in _getport