Mercurial > hg
view tests/test-ssh-repoerror.t @ 45915:8f50dc096cf4
errors: introduce SecurityError and use it in a few places
This is part of
https://www.mercurial-scm.org/wiki/ErrorCategoriesPlan. There are
perhaps more errors in `sslutil.py` that should raise `SecurityError`;
I picked the most clear ones to start with.
Differential Revision: https://phab.mercurial-scm.org/D9390
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 23 Nov 2020 16:20:02 -0800 |
parents | 95c4cca641f6 |
children | be496e3489b9 |
line wrap: on
line source
#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* (glob) 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* (glob) 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]