summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Carl Worth <cworth@cworth.org>2006-02-17 13:33:28 -0800
committerLibravatar Junio C Hamano <junkio@cox.net>2006-02-21 18:18:25 -0800
commit5508a616631fb41531b638f744bd92c701727014 (patch)
tree97faf86b45029527eaae3ea9d2999c607fa27f86
parentMerge branch 'pj/portable' (diff)
downloadtgif-5508a616631fb41531b638f744bd92c701727014.tar.xz
New test to verify that when git-clone fails it cleans up the new directory.
Signed-off-by: Carl Worth <cworth@cworth.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xt/t5600-clone-fail-cleanup.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/t/t5600-clone-fail-cleanup.sh b/t/t5600-clone-fail-cleanup.sh
new file mode 100755
index 0000000000..0c6a363be9
--- /dev/null
+++ b/t/t5600-clone-fail-cleanup.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# Copyright (C) 2006 Carl D. Worth <cworth@cworth.org>
+#
+
+test_description='test git-clone to cleanup after failure
+
+This test covers the fact that if git-clone fails, it should remove
+the directory it created, to avoid the user having to manually
+remove the directory before attempting a clone again.'
+
+. ./test-lib.sh
+
+test_expect_failure \
+ 'clone of non-existent source should fail' \
+ 'git-clone foo bar'
+
+test_expect_failure \
+ 'failed clone should not leave a directory' \
+ 'cd bar'
+
+# Need a repo to clone
+test_create_repo foo
+
+# clone doesn't like it if there is no HEAD. Is that a bug?
+(cd foo && touch file && git add file && git commit -m 'add file' >/dev/null 2>&1)
+
+test_expect_success \
+ 'clone should work now that source exists' \
+ 'git-clone foo bar'
+
+test_expect_success \
+ 'successfull clone must leave the directory' \
+ 'cd bar'
+
+test_done