summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xt/t5300-pack-object.sh23
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' '