Merge branch 'jh/trace2'
[gitweb.git] / t / t5319-multi-pack-index.sh
index 42f4d6cd01ed8bf03b313187d901ecc25b17b372..1ebf19ec3cd559dbf9ae7205a225d6e49368a8d2 100755 (executable)
@@ -104,8 +104,8 @@ compare_results_with_midx () {
                midx_git_two_modes "rev-list --objects --all" &&
                midx_git_two_modes "log --raw" &&
                midx_git_two_modes "count-objects --verbose" &&
-               midx_git_two_modes "cat-file --batch-all-objects --buffer --batch-check" &&
-               midx_git_two_modes "cat-file --batch-all-objects --buffer --batch-check --unordered" sorted
+               midx_git_two_modes "cat-file --batch-all-objects --batch-check" &&
+               midx_git_two_modes "cat-file --batch-all-objects --batch-check --unordered" sorted
        '
 }
 
@@ -117,6 +117,20 @@ test_expect_success 'write midx with one v2 pack' '
 
 compare_results_with_midx "one v2 pack"
 
+test_expect_success 'corrupt idx not opened' '
+       idx=$(test-tool read-midx $objdir | grep "\.idx\$") &&
+       mv $objdir/pack/$idx backup-$idx &&
+       test_when_finished "mv backup-\$idx \$objdir/pack/\$idx" &&
+
+       # This is the minimum size for a sha-1 based .idx; this lets
+       # us pass perfunctory tests, but anything that actually opens and reads
+       # the idx file will complain.
+       test_copy_bytes 1064 <backup-$idx >$objdir/pack/$idx &&
+
+       git -c core.multiPackIndex=true rev-list --objects --all 2>err &&
+       test_must_be_empty err
+'
+
 test_expect_success 'add more objects' '
        for i in $(test_seq 6 10)
        do