changeset 6864:16fd24f6cf22 stable

tests: use system hg by restoring environment in test-doctest.py
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 11 Oct 2024 11:40:47 +0200
parents c7f37762eab1
children 8cb7c24fb564
files tests/test-doctest.py
diffstat 1 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-doctest.py	Thu Sep 12 16:41:22 2024 +0400
+++ b/tests/test-doctest.py	Fri Oct 11 11:40:47 2024 +0200
@@ -67,11 +67,15 @@
 if not os.path.isdir(os.path.join(cwd, ".hg")):
     sys.exit(0)
 
-files = subprocess.check_output(
-    "hg files --print0 \"%s\"" % fileset,
-    shell=True,
-    cwd=cwd,
-).split(b'\0')
+files_cmd = 'hg files --print0 "%s"' % fileset
+
+# we prefer system hg for reading the repository, unless we're on python2
+# because then we assume that system hg is too old (this is not always true,
+# but it's an easy check and works well enough for us)
+if ispy3 and 'HGTEST_RESTOREENV':
+    files_cmd = '. $HGTEST_RESTOREENV; ' + files_cmd
+
+files = subprocess.check_output(files_cmd, shell=True, cwd=cwd).split(b'\0')
 
 if sys.version_info[0] >= 3:
     cwd = os.fsencode(cwd)