D11049: run-tests: introduce a `HGTEST_REAL_HG` variable for test
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Sat Jul 10 00:38:40 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
It turns out that currently, `hg` and `which hg` can point to different things
because `hg` is an alias⦠This is annoying because script and piece of test are
unknowingly using the wrong `hg`.
We will fix it in the next changeset. However some test actually need to use
a real `hg` binary and not some `chg` or `rhg` equivalent. So we introduce a new
variable with the right value and we put it to us in the appropriate location.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D11049
AFFECTED FILES
tests/run-tests.py
tests/test-hghave.t
tests/test-run-tests.t
CHANGE DETAILS
diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t
--- a/tests/test-run-tests.t
+++ b/tests/test-run-tests.t
@@ -15,7 +15,7 @@
=============
$ rt()
> {
- > "$PYTHON" $TESTDIR/run-tests.py --with-hg=`which hg` -j1 "$@"
+ > "$PYTHON" $TESTDIR/run-tests.py --with-hg=$HGTEST_REAL_HG -j1 "$@"
> }
error paths
@@ -1369,7 +1369,7 @@
Add support for external test formatter
=======================================
- $ CUSTOM_TEST_RESULT=basic_test_result "$PYTHON" $TESTDIR/run-tests.py --with-hg=`which hg` -j1 "$@" test-success.t test-failure.t
+ $ CUSTOM_TEST_RESULT=basic_test_result "$PYTHON" $TESTDIR/run-tests.py --with-hg=$HGTEST_REAL_HG -j1 "$@" test-success.t test-failure.t
running 2 tests using 1 parallel processes
# Ran 2 tests, 0 skipped, 0 failed.
diff --git a/tests/test-hghave.t b/tests/test-hghave.t
--- a/tests/test-hghave.t
+++ b/tests/test-hghave.t
@@ -22,7 +22,7 @@
> EOF
$ ( \
> testrepohgenv; \
- > "$PYTHON" $TESTDIR/run-tests.py --with-hg=`which hg` -j 1 \
+ > "$PYTHON" $TESTDIR/run-tests.py --with-hg=$HGTEST_REAL_HG -j 1 \
> $HGTEST_RUN_TESTS_PURE test-hghaveaddon.t \
> )
running 1 tests using 1 parallel processes
diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -3171,10 +3171,13 @@
if WINDOWS and not self._hgcommand.endswith(b'.exe'):
self._hgcommand += b'.exe'
+ real_hg = os.path.join(self._bindir, self._hgcommand)
+ assert real_hg is not None
+ osenvironb[b'HGTEST_REAL_HG'] = real_hg
# set CHGHG, then replace "hg" command by "chg"
chgbindir = self._bindir
if self.options.chg or self.options.with_chg:
- osenvironb[b'CHGHG'] = os.path.join(self._bindir, self._hgcommand)
+ osenvironb[b'CHGHG'] = real_hg
else:
osenvironb.pop(b'CHGHG', None) # drop flag for hghave
if self.options.chg:
@@ -3193,9 +3196,7 @@
# `--config` but that disrupts tests that print command lines and check expected
# output.
osenvironb[b'RHG_ON_UNSUPPORTED'] = b'fallback'
- osenvironb[b'RHG_FALLBACK_EXECUTABLE'] = os.path.join(
- self._bindir, self._hgcommand
- )
+ osenvironb[b'RHG_FALLBACK_EXECUTABLE'] = real_hg
if self.options.rhg:
self._hgcommand = b'rhg'
elif self.options.with_rhg:
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list