tests: save the original PATH and PYTHONPATH variables
When running the tests, define ORIG_PATH and ORIG_PYTHONPATH environment
variables that contain the original contents of PATH and PYTHONPATH, before
they were modified by run-tests.py
This will make it possible for tests to refer to the original contents of these
variables if necessary. In particular, this is necessary for invoking the
correct version of hg for examining the local repository (the mercurial
repository itself, not the temporary test repositories). Various tests examine
the local repository to check the file lists and contents of commit messages.
--- a/tests/run-tests.py Tue Jun 27 16:15:32 2017 -0700
+++ b/tests/run-tests.py Tue Jun 27 17:24:31 2017 -0700
@@ -2274,6 +2274,9 @@
sepb = _bytespath(os.pathsep)
else:
sepb = os.pathsep
+ # save the original path, for tests that need to invoke the
+ # system python
+ osenvironb[b"ORIG_PATH"] = osenvironb[b"PATH"]
path = [self._bindir, runtestdir] + osenvironb[b"PATH"].split(sepb)
if os.path.islink(__file__):
# test helper will likely be at the end of the symlink
@@ -2299,6 +2302,7 @@
# are in /opt/subversion.)
oldpypath = osenvironb.get(IMPL_PATH)
if oldpypath:
+ osenvironb['ORIG_' + IMPL_PATH] = oldpypath
pypath.append(oldpypath)
osenvironb[IMPL_PATH] = sepb.join(pypath)