Skip to content

Commit

Permalink
t5600: modernize style
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
peff authored and gitster committed Jan 3, 2018
1 parent a4c4efd commit 8486b84
Showing 1 changed file with 25 additions and 23 deletions.
48 changes: 25 additions & 23 deletions t/t5600-clone-fail-cleanup.sh
Expand Up @@ -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

0 comments on commit 8486b84

Please sign in to comment.