t5600: modernize style
This is an old script which could use some updating before we add to it: - use the standard line-breaking: test_expect_success 'title' ' body ' - run all code inside test_expect blocks to catch unexpected failures in setup steps - use "test_commit -C" instead of manually entering sub-repo - use test_when_finished for cleanup steps - test_path_is_* as appropriate Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
a4c4efd251
commit
8486b84f0e
@ -11,42 +11,44 @@ remove the directory before attempting a clone again.'
|
|||||||
|
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success 'clone of non-existent source should fail' '
|
||||||
'clone of non-existent source should fail' \
|
test_must_fail git clone foo bar
|
||||||
'test_must_fail git clone foo bar'
|
'
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success 'failed clone should not leave a directory' '
|
||||||
'failed clone should not leave a directory' \
|
test_path_is_missing bar
|
||||||
'! test -d bar'
|
'
|
||||||
|
|
||||||
# Need a repo to clone
|
test_expect_success 'create a repo to clone' '
|
||||||
test_create_repo foo
|
test_create_repo foo
|
||||||
|
'
|
||||||
|
|
||||||
# create some objects so that we can corrupt the repo later
|
test_expect_success 'create objects in repo for later corruption' '
|
||||||
(cd foo && touch file && git add file && git commit -m 'add file' >/dev/null 2>&1)
|
test_commit -C foo file
|
||||||
|
'
|
||||||
|
|
||||||
# source repository given to git clone should be relative to the
|
# source repository given to git clone should be relative to the
|
||||||
# current path not to the target dir
|
# current path not to the target dir
|
||||||
test_expect_success \
|
test_expect_success 'clone of non-existent (relative to $PWD) source should fail' '
|
||||||
'clone of non-existent (relative to $PWD) source should fail' \
|
test_must_fail git clone ../foo baz
|
||||||
'test_must_fail git clone ../foo baz'
|
'
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success 'clone should work now that source exists' '
|
||||||
'clone should work now that source exists' \
|
git clone foo bar
|
||||||
'git clone foo bar'
|
'
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success 'successful clone must leave the directory' '
|
||||||
'successful clone must leave the directory' \
|
test_path_is_dir bar
|
||||||
'test -d bar'
|
'
|
||||||
|
|
||||||
test_expect_success 'failed clone --separate-git-dir should not leave any directories' '
|
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/ &&
|
mkdir foo/.git/objects.bak/ &&
|
||||||
|
test_when_finished "mv foo/.git/objects.bak/* foo/.git/objects/" &&
|
||||||
mv foo/.git/objects/* foo/.git/objects.bak/ &&
|
mv foo/.git/objects/* foo/.git/objects.bak/ &&
|
||||||
test_must_fail git clone --separate-git-dir gitdir foo worktree &&
|
test_must_fail git clone --separate-git-dir gitdir foo worktree &&
|
||||||
test_must_fail test -e gitdir &&
|
test_path_is_missing gitdir &&
|
||||||
test_must_fail test -e worktree &&
|
test_path_is_missing worktree
|
||||||
mv foo/.git/objects.bak/* foo/.git/objects/ &&
|
|
||||||
rmdir foo/.git/objects.bak
|
|
||||||
'
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Reference in New Issue
Block a user