]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t5313-pack-bounds-checks.sh
Merge branch 'jk/fast-export-anonym-alt'
[thirdparty/git.git] / t / t5313-pack-bounds-checks.sh
index 4fe4ad9d6166d9a82cb944fadfc0317b5052b973..2a4557efc2d6f3876d0b52f97267db643e81edab 100755 (executable)
@@ -38,16 +38,27 @@ munge () {
 # for the initial, and another ofs(4*nr) past that for the extended.
 #
 ofs_table () {
-       echo $((4 + 4 + 4*256 + 20*$1 + 4*$1))
+       echo $((4 + 4 + 4*256 + $(test_oid rawsz)*$1 + 4*$1))
 }
 extended_table () {
        echo $(($(ofs_table "$1") + 4*$1))
 }
 
+test_expect_success 'setup' '
+       test_oid_init &&
+       test_oid_cache <<-EOF
+       oid000 sha1:1485
+       oid000 sha256:4222
+
+       oidfff sha1:74
+       oidfff sha256:1350
+       EOF
+'
+
 test_expect_success 'set up base packfile and variables' '
        # the hash of this content starts with ff, which
        # makes some later computations much simpler
-       echo 74 >file &&
+       echo $(test_oid oidfff) >file &&
        git add file &&
        git commit -m base &&
        git repack -ad &&
@@ -90,9 +101,8 @@ test_expect_success 'matched bogus object count' '
 
        # Unlike above, we should notice early that the .idx is totally
        # bogus, and not even enumerate its contents.
-       >expect &&
        git cat-file --batch-all-objects --batch-check >actual &&
-       test_cmp expect actual &&
+       test_must_be_empty actual &&
 
        # But as before, we can do the same object-access checks.
        test_must_fail git cat-file blob $object &&
@@ -141,10 +151,10 @@ test_expect_success 'bogus offset inside v2 extended table' '
        # an extended table (if the first object were larger than 2^31).
        #
        # Note that the value is important here. We want $object as
-       # the second entry in sorted-sha1 order. The sha1 of 1485 starts
+       # the second entry in sorted-hash order. The hash of this object starts
        # with "000", which sorts before that of $object (which starts
        # with "fff").
-       second=$(echo 1485 | git hash-object -w --stdin) &&
+       second=$(test_oid oid000 | git hash-object -w --stdin) &&
        do_pack "$object $second" --index-version=2 &&
 
        # We have to make extra room for the table, so we cannot