0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2025-01-10 02:51:54 +00:00

Birdtest: Fix Hash Unit Testing

This commit is contained in:
Pavel Tvrdík 2015-08-03 15:55:53 +02:00
parent 804ee1458d
commit 182f73dfba

View File

@ -20,9 +20,8 @@ struct test_node {
#define TEST_NEXT(n) n->next #define TEST_NEXT(n) n->next
#define TEST_EQ(n1,n2) n1 == n2 #define TEST_EQ(n1,n2) n1 == n2
#define TEST_FN(n) (n) ^ u32_hash((n)) #define TEST_FN(n) (n) ^ u32_hash((n))
#define TEST_INIT_ORDER 13 #define TEST_ORDER 13
#define TEST_PARAMS /TEST_ORDER, *2, 2, 2, TEST_ORDER, 20
#define TEST_PARAMS /8, *2, 2, 2, 8, 20
#define TEST_REHASH test_rehash #define TEST_REHASH test_rehash
HASH_DEFINE_REHASH_FN(TEST, struct test_node); HASH_DEFINE_REHASH_FN(TEST, struct test_node);
@ -30,7 +29,7 @@ HASH_DEFINE_REHASH_FN(TEST, struct test_node);
HASH(struct test_node) hash; HASH(struct test_node) hash;
struct pool *my_pool; struct pool *my_pool;
#define MAX_NUM (1 << (TEST_INIT_ORDER)) #define MAX_NUM (1 << TEST_ORDER)
struct test_node nodes[MAX_NUM]; struct test_node nodes[MAX_NUM];
@ -77,7 +76,7 @@ init_hash_(uint order)
static void static void
init_hash(void) init_hash(void)
{ {
init_hash_(TEST_INIT_ORDER); init_hash_(TEST_ORDER);
} }
static void static void
@ -234,8 +233,7 @@ t_walk_delsafe_delete2(void)
HASH_WALK_DELSAFE(hash, next, n) HASH_WALK_DELSAFE(hash, next, n)
{ {
// HASH_DELETE2(hash, TEST, pool, n->key); TODO: UNCOMMENT HASH_DELETE2(hash, TEST, my_pool, n->key);
bt_debug("order: %u \n", hash.order);
} }
HASH_WALK_DELSAFE_END; HASH_WALK_DELSAFE_END;
@ -252,8 +250,7 @@ t_walk_delsafe_remove2(void)
HASH_WALK_DELSAFE(hash, next, n) HASH_WALK_DELSAFE(hash, next, n)
{ {
// HASH_REMOVE2(hash, TEST, pool, n); TODO: UNCOMMENT HASH_REMOVE2(hash, TEST, my_pool, n);
bt_debug("order: %u \n", hash.order);
} }
HASH_WALK_DELSAFE_END; HASH_WALK_DELSAFE_END;
@ -296,9 +293,9 @@ main(int argc, char *argv[])
bt_test_suite(t_insert2_find, "HASH_INSERT2 and HASH_FIND. HASH_INSERT2 is HASH_INSERT and a smart auto-resize function"); bt_test_suite(t_insert2_find, "HASH_INSERT2 and HASH_FIND. HASH_INSERT2 is HASH_INSERT and a smart auto-resize function");
bt_test_suite(t_walk, "HASH_WALK"); bt_test_suite(t_walk, "HASH_WALK");
bt_test_suite(t_walk_delsafe_delete, "HASH_WALK_DELSAFE and HASH_DELETE"); bt_test_suite(t_walk_delsafe_delete, "HASH_WALK_DELSAFE and HASH_DELETE");
//bt_test_case(t_walk_delsafe_delete2, "HASH_WALK_DELSAFE and HASH_DELETE2. HASH_DELETE2 is HASH_DELETE and smart auto-resize function"); bt_test_suite(t_walk_delsafe_delete2, "HASH_WALK_DELSAFE and HASH_DELETE2. HASH_DELETE2 is HASH_DELETE and smart auto-resize function");
bt_test_suite(t_walk_delsafe_remove, "HASH_WALK_DELSAFE and HASH_REMOVE"); bt_test_suite(t_walk_delsafe_remove, "HASH_WALK_DELSAFE and HASH_REMOVE");
//bt_test_case(t_walk_delsafe_remove2, "HASH_WALK_DELSAFE and HASH_REMOVE2. HASH_REMOVE2 is HASH_REMOVE and smart auto-resize function"); bt_test_suite(t_walk_delsafe_remove2, "HASH_WALK_DELSAFE and HASH_REMOVE2. HASH_REMOVE2 is HASH_REMOVE and smart auto-resize function");
bt_test_suite(t_walk_filter, "HASH_WALK_FILTER"); bt_test_suite(t_walk_filter, "HASH_WALK_FILTER");
return bt_end(); return bt_end();