summaryrefslogtreecommitdiff
path: root/t/t5600-clone-fail-cleanup.sh
diff options
context:
space:
mode:
Diffstat (limited to 't/t5600-clone-fail-cleanup.sh')
-rwxr-xr-xt/t5600-clone-fail-cleanup.sh48
1 files changed, 25 insertions, 23 deletions
diff --git a/t/t5600-clone-fail-cleanup.sh b/t/t5600-clone-fail-cleanup.sh
index f23f92e..7b2a805 100755
--- a/t/t5600-clone-fail-cleanup.sh
+++ b/t/t5600-clone-fail-cleanup.sh
@@ -11,42 +11,44 @@ remove the directory before attempting a clone again.'
. ./test-lib.sh
-test_expect_success \
- 'clone of non-existent source should fail' \
- 'test_must_fail git clone foo bar'
+test_expect_success 'clone of non-existent source should fail' '
+ test_must_fail git clone foo bar
+'
-test_expect_success \
- 'failed clone should not leave a directory' \
- '! test -d bar'
+test_expect_success 'failed clone should not leave a directory' '
+ test_path_is_missing bar
+'
-# Need a repo to clone
-test_create_repo foo
+test_expect_success 'create a repo to clone' '
+ test_create_repo foo
+'
-# create some objects so that we can corrupt the repo later
-(cd foo && touch file && git add file && git commit -m 'add file' >/dev/null 2>&1)
+test_expect_success 'create objects in repo for later corruption' '
+ test_commit -C foo file
+'
# source repository given to git clone should be relative to the
# current path not to the target dir
-test_expect_success \
- 'clone of non-existent (relative to $PWD) source should fail' \
- 'test_must_fail git clone ../foo baz'
+test_expect_success 'clone of non-existent (relative to $PWD) source should fail' '
+ test_must_fail git clone ../foo baz
+'
-test_expect_success \
- 'clone should work now that source exists' \
- 'git clone foo bar'
+test_expect_success 'clone should work now that source exists' '
+ git clone foo bar
+'
-test_expect_success \
- 'successful clone must leave the directory' \
- 'test -d bar'
+test_expect_success 'successful clone must leave the directory' '
+ test_path_is_dir bar
+'
test_expect_success 'failed clone --separate-git-dir should not leave any directories' '
+ test_when_finished "rmdir foo/.git/objects.bak" &&
mkdir foo/.git/objects.bak/ &&
+ test_when_finished "mv foo/.git/objects.bak/* foo/.git/objects/" &&
mv foo/.git/objects/* foo/.git/objects.bak/ &&
test_must_fail git clone --separate-git-dir gitdir foo worktree &&
- test_must_fail test -e gitdir &&
- test_must_fail test -e worktree &&
- mv foo/.git/objects.bak/* foo/.git/objects/ &&
- rmdir foo/.git/objects.bak
+ test_path_is_missing gitdir &&
+ test_path_is_missing worktree
'
test_done