305
305
return TEST_SUCCESS;
308
static test_return_t hashkit_set_base_function_test(hashkit_st *hashk)
310
for (hashkit_hash_algorithm_t algo = HASHKIT_HASH_DEFAULT; algo < HASHKIT_HASH_MAX; algo++)
317
rc= hashkit_set_base_function(hashk, algo);
319
/* Hsieh is disabled most of the time for patent issues */
320
if (rc == HASHKIT_FAILURE && algo == HASHKIT_HASH_HSIEH)
323
test_true(rc == HASHKIT_SUCCESS);
327
case HASHKIT_HASH_DEFAULT:
328
list= one_at_a_time_values;
330
case HASHKIT_HASH_MD5:
333
case HASHKIT_HASH_CRC:
336
case HASHKIT_HASH_FNV1_64:
337
list= fnv1_64_values;
339
case HASHKIT_HASH_FNV1A_64:
340
list= fnv1a_64_values;
342
case HASHKIT_HASH_FNV1_32:
343
list= fnv1_32_values;
345
case HASHKIT_HASH_FNV1A_32:
346
list= fnv1a_32_values;
348
case HASHKIT_HASH_HSIEH:
351
case HASHKIT_HASH_MURMUR:
354
case HASHKIT_HASH_JENKINS:
355
list= jenkins_values;
357
case HASHKIT_HASH_MAX:
360
test_fail("We ended up on a non-existent hash");
363
// Now we make sure we did set the hash correctly.
364
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
368
hash_val= hashkit_generate_value(hashk, *ptr, strlen(*ptr));
369
test_true(list[x] == hash_val);
376
static test_return_t hashkit_set_base_function_custom_test(hashkit_st *hashk)
383
rc= hashkit_set_base_function_custom(hashk, hashkit_md5, NULL);
384
test_true(rc == HASHKIT_SUCCESS);
386
for (ptr= list_to_hash, x= 0; *ptr; ptr++, x++)
390
hash_val= hashkit_generate_value(hashk, *ptr, strlen(*ptr));
391
test_true(md5_values[x] == hash_val);
308
397
test_st hashkit_st_functions[] ={
309
398
{"hashkit_generate_value", 0, (test_callback_fn)hashkit_generate_value_test},
399
{"hashkit_set_base_function", 0, (test_callback_fn)hashkit_set_base_function_test},
400
{"hashkit_set_base_function_custom", 0, (test_callback_fn)hashkit_set_base_function_custom_test},