Mercurial > hg
changeset 46754:9ba00a9dc6ea
run-test: install rhg if --rhg is passed
Before this, --rhg was only working with --local.
Differential Revision: https://phab.mercurial-scm.org/D10195
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 10 Mar 2021 13:54:46 +0100 |
parents | 99c0b03894ee |
children | 6b5714479288 |
files | tests/run-tests.py |
diffstat | 1 files changed, 30 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Wed Mar 10 13:54:13 2021 +0100 +++ b/tests/run-tests.py Wed Mar 10 13:54:46 2021 +0100 @@ -3389,6 +3389,9 @@ if self.options.chg: assert self._installdir self._installchg() + if self.options.rhg: + assert self._installdir + self._installrhg() log( 'running %d tests using %d parallel processes' @@ -3750,6 +3753,33 @@ sys.stdout.write(out) sys.exit(1) + def _installrhg(self): + """Install rhg into the test environment""" + vlog('# Performing temporary installation of rhg') + assert os.path.dirname(self._bindir) == self._installdir + assert self._hgroot, 'must be called after _installhg()' + cmd = b'"%(make)s" install-rhg PREFIX="%(prefix)s"' % { + b'make': b'make', # TODO: switch by option or environment? + b'prefix': self._installdir, + } + cwd = self._hgroot + vlog("# Running", cmd) + proc = subprocess.Popen( + cmd, + shell=True, + cwd=cwd, + stdin=subprocess.PIPE, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + ) + out, _err = proc.communicate() + if proc.returncode != 0: + if PYTHON3: + sys.stdout.buffer.write(out) + else: + sys.stdout.write(out) + sys.exit(1) + def _outputcoverage(self): """Produce code coverage output.""" import coverage