Mercurial > hg-stable
changeset 12411:5d3c28a339cb
tests: unify test-clone-failure
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 26 Sep 2010 13:41:17 -0500 |
parents | 2bfb335c7594 |
children | 2dbb9e5e3454 |
files | tests/test-clone-failure tests/test-clone-failure.out tests/test-clone-failure.t |
diffstat | 3 files changed, 83 insertions(+), 86 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-clone-failure Sun Sep 26 13:11:52 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -#!/bin/sh - -# No local source -hg clone a b -echo $? - -# No remote source -hg clone http://127.0.0.1:3121/a b -echo $? -rm -rf b # work around bug with http clone - -# Inaccessible source -mkdir a -chmod 000 a -hg clone a b -echo $? - -# Inaccessible destination -mkdir b -cd b -hg init -hg clone . ../a -echo $? -cd .. -chmod 700 a -rm -r a b - -# Source of wrong type -if "$TESTDIR/hghave" -q fifo; then - mkfifo a - hg clone a b - echo $? - rm a -else - echo "abort: repository a not found!" - echo 255 -fi - -# Default destination, same directory -mkdir q -cd q -hg init -cd .. -hg clone q - -# destination directory not empty -mkdir a -echo stuff > a/a -hg clone q a -echo $? - -# leave existing directory in place after clone failure -hg init c -cd c -echo c > c -hg commit -A -m test -chmod -rx .hg/store/data -cd .. -mkdir d -hg clone c d 2> err -echo $? -test -d d && echo "dir is still here" || echo "dir is gone" -test -d d/.hg && echo "repo is still here" || echo "repo is gone" - -# reenable perm to allow deletion -chmod +rx c/.hg/store/data - -true
--- a/tests/test-clone-failure.out Sun Sep 26 13:11:52 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -abort: repository a not found! -255 -abort: error: Connection refused -255 -abort: repository a not found! -255 -abort: Permission denied: ../a -255 -abort: repository a not found! -255 -destination directory: q -abort: destination 'q' is not empty -abort: destination 'a' is not empty -255 -adding c -255 -dir is still here -repo is gone
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-clone-failure.t Sun Sep 26 13:41:17 2010 -0500 @@ -0,0 +1,83 @@ +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: Connection refused + [255] + $ rm -rf b # work around bug with http clone + +Inaccessible source + + $ mkdir a + $ chmod 000 a + $ hg clone a b + abort: repository a not found! + [255] + +Inaccessible destination + + $ mkdir b + $ cd b + $ hg init + $ hg clone . ../a + abort: Permission denied: ../a + [255] + $ cd .. + $ chmod 700 a + $ rm -r a b + +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!" + > echo 255 + > fi + abort: repository a not found! + +Default destination, same directory + + $ mkdir q + $ cd q + $ hg init + $ cd .. + $ 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] + +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