tests: save the original PATH and PYTHONPATH variables
authorAdam Simpkins <simpkins@fb.com>
Tue, 27 Jun 2017 17:24:31 -0700
changeset 33115 fa9a90d5ad89
parent 33114 8b20338b989e
child 33116 6c113a7dec52
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.
tests/run-tests.py
--- 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)