--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-ssh-repoerror.t Wed Aug 01 08:52:55 2018 +0200
@@ -0,0 +1,68 @@
+#require unix-permissions no-root
+
+initial setup
+
+ $ cat << EOF >> $HGRCPATH
+ > [ui]
+ > ssh=$PYTHON "$TESTDIR/dummyssh"
+ > EOF
+
+repository itself is non-readable
+---------------------------------
+
+ $ hg init no-read
+ $ hg id ssh://user@dummy/no-read
+ 000000000000
+ $ chmod a-rx no-read
+
+ $ hg id ssh://user@dummy/no-read
+ remote: abort: Permission denied: '$TESTTMP/no-read/.hg'
+ abort: no suitable response from remote hg!
+ [255]
+
+special case files are visible, but unreadable
+----------------------------------------------
+
+This is "similar" to the test above, but the directory is "traversable". This
+seems an unexpected case in real life, but we test it anyway.
+
+ $ hg init other
+ $ hg id ssh://user@dummy/other
+ 000000000000
+ $ for item in `find other | sort -r` ; do
+ > chmod a-r $item
+ > done
+
+ $ hg id ssh://user@dummy/other
+ remote: abort: Permission denied: $TESTTMP/other/.hg/requires
+ abort: no suitable response from remote hg!
+ [255]
+
+directory toward the repository is read only
+--------------------------------------------
+
+ $ mkdir deep
+ $ hg init deep/nested
+
+ $ hg id ssh://user@dummy/deep/nested
+ 000000000000
+
+ $ chmod a-rx deep
+
+ $ hg id ssh://user@dummy/deep/nested
+ remote: abort: Permission denied: '$TESTTMP/deep/nested/.hg'
+ abort: no suitable response from remote hg!
+ [255]
+
+repository has wrong requirement
+--------------------------------
+
+ $ hg init repo-future
+ $ hg id ssh://user@dummy/repo-future
+ 000000000000
+ $ echo flying-car >> repo-future/.hg/requires
+ $ hg id ssh://user@dummy/repo-future
+ remote: abort: repository requires features unknown to this Mercurial: flying-car!
+ remote: (see https://mercurial-scm.org/wiki/MissingRequirement for more information)
+ abort: no suitable response from remote hg!
+ [255]