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>
maint
Eric W. Biederman 2023-10-01 21:40:31 -05:00 committed by Junio C Hamano
parent c68be1fd31
commit 48b16ab231
1 changed files with 16 additions and 1 deletions

View File

@ -1599,7 +1599,16 @@ test_set_hash () {

# Detect the hash algorithm in use.
test_detect_hash () {
test_hash_algo="${GIT_TEST_DEFAULT_HASH:-sha1}"
case "$GIT_TEST_DEFAULT_HASH" in
"sha256")
test_hash_algo=sha256
test_compat_hash_algo=sha1
;;
*)
test_hash_algo=sha1
test_compat_hash_algo=sha256
;;
esac
}

# Load common hash metadata and common placeholder object IDs for use with
@ -1651,6 +1660,12 @@ test_oid () {
local algo="${test_hash_algo}" &&

case "$1" in
--hash=storage)
algo="$test_hash_algo" &&
shift;;
--hash=compat)
algo="$test_compat_hash_algo" &&
shift;;
--hash=*)
algo="${1#--hash=}" &&
shift;;