tests: unify test-clone-failure
authorMatt Mackall <mpm@selenic.com>
Sun, 26 Sep 2010 13:41:17 -0500
changeset 12411 5d3c28a339cb
parent 12410 2bfb335c7594
child 12412 2dbb9e5e3454
tests: unify test-clone-failure
tests/test-clone-failure
tests/test-clone-failure.out
tests/test-clone-failure.t
--- 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