test-lib: compute the compatibility hash so tests may use it

Inspired-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Eric W. Biederman committed Oct 1, 2023 at 21:40 UTC 48b16ab231bc20ad86dc94bcf64647a83d374a2b
1 file changed +16 -1
t/test-lib-functions.sh
+16 -1
@@ -1599,7 +1599,16 @@ test_set_hash () {
1599
1600 # Detect the hash algorithm in use.
1601 test_detect_hash () {
1602 - test_hash_algo="${GIT_TEST_DEFAULT_HASH:-sha1}"
1602 + case "$GIT_TEST_DEFAULT_HASH" in
1603 + "sha256")
1604 + test_hash_algo=sha256
1605 + test_compat_hash_algo=sha1
1606 + ;;
1607 + *)
1608 + test_hash_algo=sha1
1609 + test_compat_hash_algo=sha256
1610 + ;;
1611 + esac
1612 }
1613
1614 # Load common hash metadata and common placeholder object IDs for use with
@@ -1651,6 +1660,12 @@ test_oid () {
1660 local algo="${test_hash_algo}" &&
1661
1662 case "$1" in
1663 + --hash=storage)
1664 + algo="$test_hash_algo" &&
1665 + shift;;
1666 + --hash=compat)
1667 + algo="$test_compat_hash_algo" &&
1668 + shift;;
1669 --hash=*)
1670 algo="${1#--hash=}" &&
1671 shift;;