diff tests/run-tests.py @ 52615:c7674da2f7ea

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.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Tue, 31 Dec 2024 01:42:01 +0100
parents 484a4d5d360e
children 69b64f8da6cd
line wrap: on
line diff
--- 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: