]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t5313: make test hash independent
authorbrian m. carlson <sandals@crustytoothpaste.net>
Fri, 7 Feb 2020 00:52:46 +0000 (00:52 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 7 Feb 2020 19:07:30 +0000 (11:07 -0800)
Make this test hash independent by computing the length of the object
offsets and looking up values which will hash to object IDs with the
right properties.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5313-pack-bounds-checks.sh

index f1708d415e55c25be441ae47f865fbe7f5973c93..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 &&
@@ -140,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