[PATCH STABLE] test: add a test file that displays ssh behavior in front of various errors
Boris Feld
boris.feld at octobus.net
Tue Aug 14 09:54:11 UTC 2018
# HG changeset patch
# User Boris Feld <boris.feld at octobus.net>
# Date 1533106375 -7200
# Wed Aug 01 08:52:55 2018 +0200
# Branch stable
# Node ID 6023a2e72ff5a094430c5f0704fb161883133609
# Parent fe3ca1e6f786c1ea8eadf8cff9057095dbb2d463
# EXP-Topic ssh-error
# Available At https://bitbucket.org/octobus/mercurial-devel/
# hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 6023a2e72ff5
test: add a test file that displays ssh behavior in front of various errors
These errors are suboptimal since they claim the repository is missing while
it is permission issues.
diff --git a/tests/test-ssh-repoerror.t b/tests/test-ssh-repoerror.t
new file mode 100644
--- /dev/null
+++ b/tests/test-ssh-repoerror.t
@@ -0,0 +1,70 @@
+
+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: repository no-read not found!
+ 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: repository deep/nested not found!
+ 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]
+
+
More information about the Mercurial-devel
mailing list