From c8bae7493d2f2910b57f13ded012e86bdcfb0532 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 16:47:53 +0200 Subject: Adding upstream version 1:2.39.2. Signed-off-by: Daniel Baumann --- t/t5309-pack-delta-cycles.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 t/t5309-pack-delta-cycles.sh (limited to 't/t5309-pack-delta-cycles.sh') diff --git a/t/t5309-pack-delta-cycles.sh b/t/t5309-pack-delta-cycles.sh new file mode 100755 index 0000000..4e910c5 --- /dev/null +++ b/t/t5309-pack-delta-cycles.sh @@ -0,0 +1,79 @@ +#!/bin/sh + +test_description='test index-pack handling of delta cycles in packfiles' + +TEST_PASSES_SANITIZE_LEAK=true +. ./test-lib.sh +. "$TEST_DIRECTORY"/lib-pack.sh + +# Two similar-ish objects that we have computed deltas between. +A=$(test_oid packlib_7_0) +B=$(test_oid packlib_7_76) + +# double-check our hand-constucted packs +test_expect_success 'index-pack works with a single delta (A->B)' ' + clear_packs && + { + pack_header 2 && + pack_obj $A $B && + pack_obj $B + } >ab.pack && + pack_trailer ab.pack && + git index-pack --stdin A)' ' + clear_packs && + { + pack_header 2 && + pack_obj $A && + pack_obj $B $A + } >ba.pack && + pack_trailer ba.pack && + git index-pack --stdin missing.pack && + pack_trailer missing.pack && + test_must_fail git index-pack --fix-thin --stdin cycle.pack && + pack_trailer cycle.pack && + test_must_fail git index-pack --fix-thin --stdin recoverable.pack && + pack_trailer recoverable.pack && + test_must_fail git index-pack --fix-thin --stdin