# HG changeset patch # User Pierre-Yves David # Date 1735605721 -3600 # Node ID c7674da2f7eab8b1cb5cfe7eb2186ca82ac362b5 # Parent 484a4d5d360e3b216bd4c7f5be6d7ae5c14cad86 run-tests: use the venv python as the main python The venv python should be equivalent to sys.executable and this get use closer to stop manipulation PYTHONPATH content directly. diff -r 484a4d5d360e -r c7674da2f7ea tests/run-tests.py --- a/tests/run-tests.py Mon Dec 30 22:10:02 2024 +0100 +++ b/tests/run-tests.py Tue Dec 31 01:42:01 2024 +0100 @@ -3116,7 +3116,6 @@ # a place for run-tests.py to generate executable it needs self._custom_bin_dir = None self._pythondir = None - self._venv_executable = None if sys.executable: self._python = sys.executable @@ -3276,22 +3275,22 @@ self._installdir = os.path.join(self._hgtmp, b"install") # create a virtual env where hg is going to be installed - # however, PYTHONPATH is still used so no need for --system-site-packages command_create_venv = [ self._python, "-m", "venv", + "--system-site-packages", self._installdir, ] subprocess.run(command_create_venv, check=True) bindir = b"Scripts" if WINDOWS else b"bin" self._bindir = os.path.join(self._installdir, bindir) - self._venv_executable = os.path.join(self._bindir, b"python") + self._python = _bytes2sys(os.path.join(self._bindir, b"python")) self._pythondir = subprocess.run( [ - self._venv_executable, + self._python, "-c", "import sys; print([p for p in sys.path if p.startswith(sys.prefix) and p.endswith('site-packages')][0])", ], @@ -3844,7 +3843,7 @@ self._hgroot = hgroot os.chdir(hgroot) cmd = [ - self._venv_executable, + self._pythonb, b"-m", b"pip", b"install", @@ -3871,7 +3870,7 @@ self._hgroot = hgroot os.chdir(hgroot) cmd = [ - self._venv_executable, + self._pythonb, b"setup.py", ] if setup_opts: