You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.7 KiB
60 lines
1.7 KiB
#!/bin/sh |
|
# |
|
# Copyright (c) 2006 Shawn Pearce |
|
# |
|
|
|
test_description='mmap sliding window tests' |
|
. ./test-lib.sh |
|
|
|
test_expect_success \ |
|
'setup' \ |
|
'rm -f .git/index* && |
|
for i in a b c |
|
do |
|
echo $i >$i && |
|
test-tool genrandom "$i" 32768 >>$i && |
|
git update-index --add $i || return 1 |
|
done && |
|
echo d >d && cat c >>d && git update-index --add d && |
|
tree=$(git write-tree) && |
|
commit1=$(git commit-tree $tree </dev/null) && |
|
git update-ref HEAD $commit1 && |
|
git repack -a -d && |
|
test "$(git count-objects)" = "0 objects, 0 kilobytes" && |
|
pack1=$(ls .git/objects/pack/*.pack) && |
|
test -f "$pack1"' |
|
|
|
test_expect_success \ |
|
'verify-pack -v, defaults' \ |
|
'git verify-pack -v "$pack1"' |
|
|
|
test_expect_success \ |
|
'verify-pack -v, packedGitWindowSize == 1 page' \ |
|
'git config core.packedGitWindowSize 512 && |
|
git verify-pack -v "$pack1"' |
|
|
|
test_expect_success \ |
|
'verify-pack -v, packedGit{WindowSize,Limit} == 1 page' \ |
|
'git config core.packedGitWindowSize 512 && |
|
git config core.packedGitLimit 512 && |
|
git verify-pack -v "$pack1"' |
|
|
|
test_expect_success \ |
|
'repack -a -d, packedGit{WindowSize,Limit} == 1 page' \ |
|
'git config core.packedGitWindowSize 512 && |
|
git config core.packedGitLimit 512 && |
|
commit2=$(git commit-tree $tree -p $commit1 </dev/null) && |
|
git update-ref HEAD $commit2 && |
|
git repack -a -d && |
|
test "$(git count-objects)" = "0 objects, 0 kilobytes" && |
|
pack2=$(ls .git/objects/pack/*.pack) && |
|
test -f "$pack2" && |
|
test "$pack1" \!= "$pack2"' |
|
|
|
test_expect_success \ |
|
'verify-pack -v, defaults' \ |
|
'git config --unset core.packedGitWindowSize && |
|
git config --unset core.packedGitLimit && |
|
git verify-pack -v "$pack2"' |
|
|
|
test_done
|
|
|