diff options
author | Nicolas Pitre <nico@fluxnic.net> | 2010-02-03 22:48:26 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-02-03 20:38:47 -0800 |
commit | 2fca19fbb524d028bff0467762186e641aa3351a (patch) | |
tree | 75b57158a8e6667d4e3466f09ab1bc00baf8c914 /t/t5300-pack-object.sh | |
parent | 57017b3e1554b169f3db52a7f8da4e359d043ca8 (diff) | |
download | git-2fca19fbb524d028bff0467762186e641aa3351a.tar.gz git-2fca19fbb524d028bff0467762186e641aa3351a.tar.xz |
fix multiple issues with t5300
First of all, trying to run 'git verify-pack' on packs produced by
the tests using pack.packSizeLimit always failed. After lots of digging
and head scratching, it turns out that the preceeding test simulating
a SHA1 collision did leave the repository quite confused, impacting
subsequent tests.
So let's move that destructive test last, and add tests to run
verify-pack on the output from those packSizeLimit tests to catch such
goofage.
Finally, group those packSizeLimit tests together.
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5300-pack-object.sh')
-rwxr-xr-x | t/t5300-pack-object.sh | 54 |
1 files changed, 34 insertions, 20 deletions
diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh index e2aa254ea..7c6231c66 100755 --- a/t/t5300-pack-object.sh +++ b/t/t5300-pack-object.sh @@ -280,26 +280,8 @@ test_expect_success \ :' -test_expect_success \ - 'fake a SHA1 hash collision' \ - 'test -f .git/objects/c8/2de19312b6c3695c0c18f70709a6c535682a67 && - cp -f .git/objects/9d/235ed07cd19811a6ceb342de82f190e49c9f68 \ - .git/objects/c8/2de19312b6c3695c0c18f70709a6c535682a67' - -test_expect_success \ - 'make sure index-pack detects the SHA1 collision' \ - 'test_must_fail git index-pack -o bad.idx test-3.pack 2>msg && - grep "SHA1 COLLISION FOUND" msg' - -test_expect_success \ - 'honor pack.packSizeLimit' \ - 'git config pack.packSizeLimit 200 && - packname_4=$(git pack-objects test-4 <obj-list) && - test 3 = $(ls test-4-*.pack | wc -l)' - test_expect_success 'unpacking with --strict' ' - git config --unset pack.packsizelimit && for j in a b c d e f g do for i in 0 1 2 3 4 5 6 7 8 9 @@ -392,10 +374,42 @@ test_expect_success 'index-pack with --strict' ' ) ' +test_expect_success 'honor pack.packSizeLimit' ' + git config pack.packSizeLimit 200 && + packname_10=$(git pack-objects test-10 <obj-list) && + test 3 = $(ls test-10-*.pack | wc -l) +' + +test_expect_success 'verify resulting packs' ' + git verify-pack test-10-*.pack +' + test_expect_success 'tolerate absurdly small packsizelimit' ' git config pack.packSizeLimit 2 && - packname_9=$(git pack-objects test-9 <obj-list) && - test $(wc -l <obj-list) = $(ls test-9-*.pack | wc -l) + packname_11=$(git pack-objects test-11 <obj-list) && + test $(wc -l <obj-list) = $(ls test-11-*.pack | wc -l) ' +test_expect_success 'verify resulting packs' ' + git verify-pack test-11-*.pack +' + +# +# WARNING! +# +# The following test is destructive. Please keep the next +# two tests at the end of this file. +# + +test_expect_success \ + 'fake a SHA1 hash collision' \ + 'test -f .git/objects/c8/2de19312b6c3695c0c18f70709a6c535682a67 && + cp -f .git/objects/9d/235ed07cd19811a6ceb342de82f190e49c9f68 \ + .git/objects/c8/2de19312b6c3695c0c18f70709a6c535682a67' + +test_expect_success \ + 'make sure index-pack detects the SHA1 collision' \ + 'test_must_fail git index-pack -o bad.idx test-3.pack 2>msg && + grep "SHA1 COLLISION FOUND" msg' + test_done |