dnl dnl Copyright (C) 2025 CismonX dnl dnl Copying and distribution of this file, with or without modification, dnl are permitted in any medium without royalty, dnl provided the copyright notice and this notice are preserved. dnl This file is offered as-is, without any warranty. dnl AT_SETUP([util lib: hash function]) AT_KEYWORDS([lib hash]) # This test only serves as a basic sanity check. # # For reliable testing of hash functions, # see . ATX_CHECK_LIB([ calc_digest() { echo "$2" | check-bookmarkfs-util hash -s$1 } seed=$(ath_fn_rand_u64_hex) input=$(ath_fn_rand_base64 300) hash_1=$(calc_digest $seed $input) hash_2=$(calc_digest $seed $input) hash_3=$(calc_digest $seed $input) hash_x=$(calc_digest $seed $input+) # Given the same seed and input, the digest should be consistent. if test "$hash_1" != "$hash_2" -o "$hash_2" != "$hash_3"; then ATX_FAIL fi # Bad hash function if we're getting collisions. if test "$hash_1" = "$hash_x"; then ATX_FAIL fi ]) AT_CLEANUP