]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t5308: make test work with SHA-256
authorbrian m. carlson <sandals@crustytoothpaste.net>
Wed, 29 Jul 2020 23:14:16 +0000 (23:14 +0000)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Jul 2020 16:16:48 +0000 (09:16 -0700)
This test needs multiple object IDs that have the same first byte.
Update the pack test code to generate a suitable packed value for
SHA-256.  Update the test to use this value when using SHA-256.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Reviewed-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/lib-pack.sh
t/t5308-pack-detect-duplicates.sh

index f3463170b39fee8befa08ee3f3e460426f731498..0c799d53c6bde56be8593e39d499d15b90b80b8c 100644 (file)
@@ -93,6 +93,14 @@ pack_obj () {
                        ;;
                esac
                ;;
+       # blob containing "\3\326"
+       471819e8c52bf11513f100b2810a8aa0622d5cd3d1c913758a071dd4b3bad8fe)
+               case "$2" in
+               '')
+                       printf '\062\170\234\143\276\006\000\000\336\000\332'
+                       return
+                       ;;
+               esac
        esac
 
        # If it's not a delta, we can convince pack-objects to generate a pack
index 6845c1f3c3a3acc4540e1340627240d90d7bb145..693b2411c89929b7cf3b765419c1f8db96554636 100755 (executable)
@@ -4,23 +4,27 @@ test_description='handling of duplicate objects in incoming packfiles'
 . ./test-lib.sh
 . "$TEST_DIRECTORY"/lib-pack.sh
 
-if ! test_have_prereq SHA1
-then
-       skip_all='not using SHA-1 for objects'
-       test_done
-fi
+test_expect_success 'setup' '
+       test_oid_cache <<-EOF
+       lo_oid sha1:e68fe8129b546b101aee9510c5328e7f21ca1d18
+       lo_oid sha256:471819e8c52bf11513f100b2810a8aa0622d5cd3d1c913758a071dd4b3bad8fe
+
+       missing_oid sha1:e69d000000000000000000000000000000000000
+       missing_oid sha256:4720000000000000000000000000000000000000000000000000000000000000
+       EOF
+'
 
 # The sha1s we have in our pack. It's important that these have the same
 # starting byte, so that they end up in the same fanout section of the index.
 # That lets us make sure we are exercising the binary search with both sets.
-LO_SHA1=e68fe8129b546b101aee9510c5328e7f21ca1d18
-HI_SHA1=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
+LO_SHA1=$(test_oid lo_oid)
+HI_SHA1=$EMPTY_BLOB
 
 # And here's a "missing sha1" which will produce failed lookups. It must also
 # be in the same fanout section, and should be between the two (so that during
 # our binary search, we are sure to end up looking at one or the other of the
 # duplicate runs).
-MISSING_SHA1='e69d000000000000000000000000000000000000'
+MISSING_SHA1=$(test_oid missing_oid)
 
 # git will never intentionally create packfiles with
 # duplicate objects, so we have to construct them by hand.