Mercurial > hg
diff tests/test-clone.t @ 16847:cda5402b1739
tests: roll test-clone-failure.t into test-clone.t
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Mon, 04 Jun 2012 19:05:22 +0200 |
parents | fc8c7a5ccc4a |
children | bb91c602d4ad |
line wrap: on
line diff
--- a/tests/test-clone.t Fri Jun 01 13:38:18 2012 +0200 +++ b/tests/test-clone.t Mon Jun 04 19:05:22 2012 +0200 @@ -458,3 +458,101 @@ updating to branch stable 3 files updated, 0 files merged, 0 files removed, 0 files unresolved $ rm -r ua + + +Testing failures: + + $ mkdir fail + $ cd fail + +No local source + + $ hg clone a b + abort: repository a not found! + [255] + +No remote source + + $ hg clone http://127.0.0.1:3121/a b + abort: error: *refused* (glob) + [255] + $ rm -rf b # work around bug with http clone + + +#if unix-permissions + +Inaccessible source + + $ mkdir a + $ chmod 000 a + $ hg clone a b + abort: repository a not found! + [255] + +Inaccessible destination + + $ hg init b + $ cd b + $ hg clone . ../a + abort: Permission denied: ../a + [255] + $ cd .. + $ chmod 700 a + $ rm -r a b + +#endif + + +Source of wrong type + + $ if "$TESTDIR/hghave" -q fifo; then + > mkfifo a + > hg clone a b + > rm a + > else + > echo "abort: repository a not found!" + > fi + abort: repository a not found! + +Default destination, same directory + + $ hg init q + $ hg clone q + destination directory: q + abort: destination 'q' is not empty + [255] + +destination directory not empty + + $ mkdir a + $ echo stuff > a/a + $ hg clone q a + abort: destination 'a' is not empty + [255] + + +#if unix-permissions + +leave existing directory in place after clone failure + + $ hg init c + $ cd c + $ echo c > c + $ hg commit -A -m test + adding c + $ chmod -rx .hg/store/data + $ cd .. + $ mkdir d + $ hg clone c d 2> err + [255] + $ test -d d + $ test -d d/.hg + [1] + +reenable perm to allow deletion + + $ chmod +rx c/.hg/store/data + +#endif + + $ cd ..