diff --git a/tests/test-globalopts.t b/tests/test-globalopts.t
index 2255e7eb39e5ad8f0b538bff53ec04cec00c366b_dGVzdHMvdGVzdC1nbG9iYWxvcHRzLnQ=..e96a0a53de20700beacccb656617bceab78f639e_dGVzdHMvdGVzdC1nbG9iYWxvcHRzLnQ= 100644
--- a/tests/test-globalopts.t
+++ b/tests/test-globalopts.t
@@ -264,7 +264,7 @@
 
 Testing --traceback:
 
-#if no-chg
+#if no-chg no-rhg
   $ hg --cwd c --config x --traceback id 2>&1 | grep -i 'traceback'
   Traceback (most recent call last):
   Traceback (most recent call last): (py3 !)
diff --git a/tests/test-hgrc.t b/tests/test-hgrc.t
index 2255e7eb39e5ad8f0b538bff53ec04cec00c366b_dGVzdHMvdGVzdC1oZ3JjLnQ=..e96a0a53de20700beacccb656617bceab78f639e_dGVzdHMvdGVzdC1oZ3JjLnQ= 100644
--- a/tests/test-hgrc.t
+++ b/tests/test-hgrc.t
@@ -59,7 +59,7 @@
 #if unix-permissions no-root
   $ chmod u-r $TESTTMP/included
   $ hg showconfig section
-  config error at $TESTTMP/hgrc:2: cannot include $TESTTMP/included (Permission denied)
+  config error at $TESTTMP/hgrc:2: cannot include $TESTTMP/included (Permission denied*) (glob)
   [255]
 #endif
 
diff --git a/tests/test-ssh.t b/tests/test-ssh.t
index 2255e7eb39e5ad8f0b538bff53ec04cec00c366b_dGVzdHMvdGVzdC1zc2gudA==..e96a0a53de20700beacccb656617bceab78f639e_dGVzdHMvdGVzdC1zc2gudA== 100644
--- a/tests/test-ssh.t
+++ b/tests/test-ssh.t
@@ -390,6 +390,7 @@
   abort: destination 'a repo' is not empty
   [10]
 
+#if no-rhg
 Make sure hg is really paranoid in serve --stdio mode. It used to be
 possible to get a debugger REPL by specifying a repo named --debugger.
   $ hg -R --debugger serve --stdio
@@ -402,6 +403,27 @@
   $ hg -R narf serv --stdio
   abort: potentially unsafe serve --stdio invocation: ['-R', 'narf', 'serv', '--stdio']
   [255]
+#else
+rhg aborts early on -R without a repository at that path
+  $ hg -R --debugger serve --stdio
+  abort: potentially unsafe serve --stdio invocation: ['-R', '--debugger', 'serve', '--stdio'] (missing-correct-output !)
+  abort: repository --debugger not found (known-bad-output !)
+  [255]
+  $ hg -R --config=ui.debugger=yes serve --stdio
+  abort: potentially unsafe serve --stdio invocation: ['-R', '--config=ui.debugger=yes', 'serve', '--stdio'] (missing-correct-output !)
+  abort: repository --config=ui.debugger=yes not found (known-bad-output !)
+  [255]
+  $ hg -R narf serv --stdio
+  abort: potentially unsafe serve --stdio invocation: ['-R', 'narf', 'serv', '--stdio'] (missing-correct-output !)
+  abort: repository narf not found (known-bad-output !)
+  [255]
+If the repo does exist, rhg finds an unsupported command and falls back to Python
+which still does the right thing
+  $ hg init narf
+  $ hg -R narf serv --stdio
+  abort: potentially unsafe serve --stdio invocation: ['-R', 'narf', 'serv', '--stdio']
+  [255]
+#endif
 
 Test hg-ssh using a helper script that will restore PYTHONPATH (which might
 have been cleared by a hg.exe wrapper) and invoke hg-ssh with the right