diff --git a/tests/hghave.py b/tests/hghave.py --- a/tests/hghave.py +++ b/tests/hghave.py @@ -188,6 +188,11 @@ def has_chg(): return 'CHGHG' in os.environ +@check("rhg", "running with rhg as 'hg'") +def has_rhg(): + return 'RHG_INSTALLED_AS_HG' in os.environ + + @check("cvs", "cvs client/server") def has_cvs(): re = br'Concurrent Versions System.*?server' diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -3134,6 +3134,8 @@ class TestRunner(object): # configure fallback and replace "hg" command by "rhg" rhgbindir = self._bindir if self.options.rhg or self.options.with_rhg: + # Affects hghave.py + osenvironb[b'RHG_INSTALLED_AS_HG'] = b'1' # Affects configuration. Alternatives would be setting configuration through # `$HGRCPATH` but some tests override that, or changing `_hgcommand` to include # `--config` but that disrupts tests that print command lines and check expected diff --git a/tests/test-rhg.t b/tests/test-rhg.t --- a/tests/test-rhg.t +++ b/tests/test-rhg.t @@ -1,15 +1,4 @@ -#require rust - -Define an rhg function that will only run if rhg exists - $ RHG="$RUNTESTDIR/../rust/target/release/rhg" - $ rhg() { - > if [ -f "$RHG" ]; then - > "$RHG" "$@" - > else - > echo "skipped: Cannot find rhg. Try to run cargo build in rust/rhg." - > exit 80 - > fi - > } +#require rhg $ NO_FALLBACK="env RHG_ON_UNSUPPORTED=abort" @@ -169,8 +158,8 @@ Fallback to Python unsupported feature: `rhg cat` without `--rev` / `-r` [252] - $ rhg cat original --config rhg.fallback-executable="$RHG" - Blocking recursive fallback. The 'rhg.fallback-executable = */rust/target/release/rhg' config points to `rhg` itself. (glob) + $ rhg cat original --config rhg.fallback-executable=rhg + Blocking recursive fallback. The 'rhg.fallback-executable = rhg' config points to `rhg` itself. unsupported feature: `rhg cat` without `--rev` / `-r` [252]