D10195: run-test: install rhg if --rhg is passed
SimonSapin
phabricator at mercurial-scm.org
Fri Mar 12 22:10:01 UTC 2021
SimonSapin created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
Before this, --rhg was only working with --local.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D10195
AFFECTED FILES
tests/run-tests.py
CHANGE DETAILS
diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -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
To: SimonSapin, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list