From 9f40eee0a86f445944ef121d7fdb9ff2fa42c09e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Tue, 12 Sep 2023 16:37:50 +0200 Subject: [PATCH] Remove isc_hash_function macro The last two users of 64-bit isc_hash_function() macro were removed in the previous commits, remove the macro as well. --- lib/isc/include/isc/hash.h | 2 -- tests/isc/hash_test.c | 69 ++++++++++++++++++++++++++------------ 2 files changed, 48 insertions(+), 23 deletions(-) diff --git a/lib/isc/include/isc/hash.h b/lib/isc/include/isc/hash.h index bac9d9f7b8..231ecfb321 100644 --- a/lib/isc/include/isc/hash.h +++ b/lib/isc/include/isc/hash.h @@ -44,8 +44,6 @@ isc_hash_get_initializer(void); void isc_hash_set_initializer(const void *initializer); -#define isc_hash_function isc_hash64 - void isc_hash32_init(isc_hash32_t *restrict state); void diff --git a/tests/isc/hash_test.c b/tests/isc/hash_test.c index a0a7093209..6d04943866 100644 --- a/tests/isc/hash_test.c +++ b/tests/isc/hash_test.c @@ -34,60 +34,87 @@ #include /* Hash function test */ -ISC_RUN_TEST_IMPL(isc_hash_function) { - unsigned int h1; - unsigned int h2; - - UNUSED(state); +ISC_RUN_TEST_IMPL(isc_hash32) { + uint32_t h1; + uint32_t h2; /* Immutability of hash function */ - h1 = isc_hash_function(NULL, 0, true); - h2 = isc_hash_function(NULL, 0, true); + h1 = isc_hash32(NULL, 0, true); + h2 = isc_hash32(NULL, 0, true); assert_int_equal(h1, h2); /* Hash function characteristics */ - h1 = isc_hash_function("Hello world", 12, true); - h2 = isc_hash_function("Hello world", 12, true); + h1 = isc_hash32("Hello world", 12, true); + h2 = isc_hash32("Hello world", 12, true); assert_int_equal(h1, h2); /* Case */ - h1 = isc_hash_function("Hello world", 12, false); - h2 = isc_hash_function("heLLo WorLd", 12, false); + h1 = isc_hash32("Hello world", 12, false); + h2 = isc_hash32("heLLo WorLd", 12, false); assert_int_equal(h1, h2); /* Unequal */ - h1 = isc_hash_function("Hello world", 12, true); - h2 = isc_hash_function("heLLo WorLd", 12, true); + h1 = isc_hash32("Hello world", 12, true); + h2 = isc_hash32("heLLo WorLd", 12, true); + + assert_int_not_equal(h1, h2); +} + +/* Hash function test */ +ISC_RUN_TEST_IMPL(isc_hash64) { + uint64_t h1; + uint64_t h2; + + /* Immutability of hash function */ + h1 = isc_hash64(NULL, 0, true); + h2 = isc_hash64(NULL, 0, true); + + assert_int_equal(h1, h2); + + /* Hash function characteristics */ + h1 = isc_hash64("Hello world", 12, true); + h2 = isc_hash64("Hello world", 12, true); + + assert_int_equal(h1, h2); + + /* Case */ + h1 = isc_hash64("Hello world", 12, false); + h2 = isc_hash64("heLLo WorLd", 12, false); + + assert_int_equal(h1, h2); + + /* Unequal */ + h1 = isc_hash64("Hello world", 12, true); + h2 = isc_hash64("heLLo WorLd", 12, true); assert_int_not_equal(h1, h2); } /* Hash function initializer test */ ISC_RUN_TEST_IMPL(isc_hash_initializer) { - unsigned int h1; - unsigned int h2; + uint64_t h1; + uint64_t h2; - UNUSED(state); - - h1 = isc_hash_function("Hello world", 12, true); - h2 = isc_hash_function("Hello world", 12, true); + h1 = isc_hash64("Hello world", 12, true); + h2 = isc_hash64("Hello world", 12, true); assert_int_equal(h1, h2); isc_hash_set_initializer(isc_hash_get_initializer()); /* Hash value must not change */ - h2 = isc_hash_function("Hello world", 12, true); + h2 = isc_hash64("Hello world", 12, true); assert_int_equal(h1, h2); } ISC_TEST_LIST_START -ISC_TEST_ENTRY(isc_hash_function) +ISC_TEST_ENTRY(isc_hash32) +ISC_TEST_ENTRY(isc_hash64) ISC_TEST_ENTRY(isc_hash_initializer) ISC_TEST_LIST_END