[PATCH 2/5] t5300: check that we produced expected number of deltas
- From
Jeff King <peff@peff.net>
- Date
- May 1, 2021, 14:03 UTC
- Message-ID
- <YI1frTcgfGb6GA3N@coredump.intra.peff.net>
- In-Reply-To
- <YI1fbERSuS7Y3LKh@coredump.intra.peff.net>
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> --- t/t5300-pack-object.sh | 23 ++++++++++++++++++++--- 1 file 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,15 +76,18 @@ 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' ' check_unpack test-2-${packname_2} ' 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' '
-- 2.31.1.875.g5dccece0aa