#!/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-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
