# HG changeset patch # User Adrian Buehlmann # Date 2012-06-04 17:05:22 # Node ID cda5402b17397b88bd02f502bd5277bbd0cf1895 # Parent e38ed2ceabe73026bcf1f765cf005a65cb1172cd tests: roll test-clone-failure.t into test-clone.t diff --git a/tests/test-clone-failure.t b/tests/test-clone-failure.t deleted file mode 100644 --- a/tests/test-clone-failure.t +++ /dev/null @@ -1,89 +0,0 @@ -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 diff --git a/tests/test-clone.t b/tests/test-clone.t --- a/tests/test-clone.t +++ b/tests/test-clone.t @@ -458,3 +458,101 @@ iterable in addbranchrevs() 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 ..