| # test_midx_consistent <objdir> | |
| test_midx_consistent () { | |
| ls $1/pack/pack-*.idx | xargs -n 1 basename | sort >expect && | |
| test-tool read-midx $1 | grep ^pack-.*\.idx$ | sort >actual && | |
| test_cmp expect actual && | |
| git multi-pack-index --object-dir=$1 verify | |
| } | |
| midx_checksum () { | |
| test-tool read-midx --checksum "$1" | |
| } | |
| midx_git_two_modes () { | |
| git -c core.multiPackIndex=false $1 >expect && | |
| git -c core.multiPackIndex=true $1 >actual && | |
| if [ "$2" = "sorted" ] | |
| then | |
| sort <expect >expect.sorted && | |
| mv expect.sorted expect && | |
| sort <actual >actual.sorted && | |
| mv actual.sorted actual | |
| fi && | |
| test_cmp expect actual | |
| } | |
| compare_results_with_midx () { | |
| MSG=$1 | |
| test_expect_success "check normal git operations: $MSG" ' | |
| 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 --batch-check" && | |
| midx_git_two_modes "cat-file --batch-all-objects --batch-check --unordered" sorted | |
| ' | |
| } |