Skip to content

Commit

Permalink
test: fetch/receive with fsckobjects
Browse files Browse the repository at this point in the history
Add tests for the new fetch.fsckobjects, and also tests for
receive.fsckobjects we have had for quite some time.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Junio C Hamano committed Sep 5, 2011
1 parent dab76d3 commit b10a535
Showing 1 changed file with 104 additions and 0 deletions.
104 changes: 104 additions & 0 deletions t/t5504-fetch-receive-strict.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#!/bin/sh

test_description='fetch/receive strict mode'
. ./test-lib.sh

test_expect_success setup '
echo hello >greetings &&
git add greetings &&
git commit -m greetings &&
S=$(git rev-parse :greetings | sed -e "s|^..|&/|") &&
X=$(echo bye | git hash-object -w --stdin | sed -e "s|^..|&/|") &&
mv -f .git/objects/$X .git/objects/$S &&
test_must_fail git fsck
'

test_expect_success 'fetch without strict' '
rm -rf dst &&
git init dst &&
(
cd dst &&
git config fetch.fsckobjects false &&
git config transfer.fsckobjects false &&
git fetch ../.git master
)
'

test_expect_success 'fetch with !fetch.fsckobjects' '
rm -rf dst &&
git init dst &&
(
cd dst &&
git config fetch.fsckobjects false &&
git config transfer.fsckobjects true &&
git fetch ../.git master
)
'

test_expect_success 'fetch with fetch.fsckobjects' '
rm -rf dst &&
git init dst &&
(
cd dst &&
git config fetch.fsckobjects true &&
git config transfer.fsckobjects false &&
test_must_fail git fetch ../.git master
)
'

test_expect_success 'fetch with transfer.fsckobjects' '
rm -rf dst &&
git init dst &&
(
cd dst &&
git config transfer.fsckobjects true &&
test_must_fail git fetch ../.git master
)
'

test_expect_success 'push without strict' '
rm -rf dst &&
git init dst &&
(
cd dst &&
git config fetch.fsckobjects false &&
git config transfer.fsckobjects false
) &&
git push dst master:refs/heads/test
'

test_expect_success 'push with !receive.fsckobjects' '
rm -rf dst &&
git init dst &&
(
cd dst &&
git config receive.fsckobjects false &&
git config transfer.fsckobjects true
) &&
git push dst master:refs/heads/test
'

test_expect_success 'push with receive.fsckobjects' '
rm -rf dst &&
git init dst &&
(
cd dst &&
git config receive.fsckobjects true &&
git config transfer.fsckobjects false
) &&
test_must_fail git push dst master:refs/heads/test
'

test_expect_success 'push with transfer.fsckobjects' '
rm -rf dst &&
git init dst &&
(
cd dst &&
git config transfer.fsckobjects true
) &&
test_must_fail git push dst master:refs/heads/test
'

test_done

0 comments on commit b10a535

Please sign in to comment.