diff options
author | Jeff King <peff@peff.net> | 2021-05-01 10:03:25 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-05-03 14:29:16 +0900 |
commit | 95356789ee5e65abbdf3f354b8be4c79b196e8a1 (patch) | |
tree | 6b33662909bd31128496fe1b60d2d0302764a29f | |
parent | t5300: modernize basic tests (diff) | |
download | tgif-95356789ee5e65abbdf3f354b8be4c79b196e8a1.tar.xz |
t5300: check that we produced expected number of deltas
We pack a set of objects both with and without --window=0, assuming that
the 0-length window will cause us not to produce any deltas. Let's
confirm that this is the case.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | t/t5300-pack-object.sh | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh index 1e10c832a6..887e2d8d88 100755 --- a/t/t5300-pack-object.sh +++ b/t/t5300-pack-object.sh @@ -34,8 +34,22 @@ test_expect_success 'setup' ' } >expect ' +# usage: check_deltas <stderr_from_pack_objects> <cmp_op> <nr_deltas> +# e.g.: check_deltas stderr -gt 0 +check_deltas() { + deltas=$(perl -lne '/delta (\d+)/ and print $1' "$1") && + shift && + if ! test "$deltas" "$@" + then + echo >&2 "unexpected number of deltas (compared $delta $*)" + return 1 + fi +} + test_expect_success 'pack without delta' ' - packname_1=$(git pack-objects --window=0 test-1 <obj-list) + packname_1=$(git pack-objects --progress --window=0 test-1 \ + <obj-list 2>stderr) && + check_deltas stderr = 0 ' test_expect_success 'pack-objects with bogus arguments' ' @@ -62,7 +76,8 @@ test_expect_success 'unpack without delta' ' ' test_expect_success 'pack with REF_DELTA' ' - packname_2=$(git pack-objects test-2 <obj-list) + packname_2=$(git pack-objects --progress test-2 <obj-list 2>stderr) && + check_deltas stderr -gt 0 ' test_expect_success 'unpack with REF_DELTA' ' @@ -70,7 +85,9 @@ test_expect_success 'unpack with REF_DELTA' ' ' test_expect_success 'pack with OFS_DELTA' ' - packname_3=$(git pack-objects --delta-base-offset test-3 <obj-list) + packname_3=$(git pack-objects --progress --delta-base-offset test-3 \ + <obj-list 2>stderr) && + check_deltas stderr -gt 0 ' test_expect_success 'unpack with OFS_DELTA' ' |