diff options
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/unit1602.c | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/tests/unit/unit1602.c b/tests/unit/unit1602.c index 3b25556bf..982d67b4a 100644 --- a/tests/unit/unit1602.c +++ b/tests/unit/unit1602.c @@ -28,53 +28,52 @@ #include "memdebug.h" /* LAST include file */ - static CURLcode unit_setup( void ) +static struct curl_hash hash_static; + +static void mydtor(void *p) { - return CURLE_OK; + int *ptr = (int*)p; + free(ptr); } -static void unit_stop( void ) +static CURLcode unit_setup( void ) { - + return Curl_hash_init(&hash_static, 7, Curl_hash_str, + Curl_str_key_compare, mydtor); } -static void mydtor(void *p) +static void unit_stop( void ) { - int *ptr = (int*)p; - free(ptr); + Curl_hash_destroy(&hash_static); } UNITTEST_START int *value; int *value2; + int *nodep; size_t klen = sizeof(int); - struct curl_hash hash_static; int key = 20; int key2 = 25; - int rc = 0; - - rc = Curl_hash_init(&hash_static, 7, Curl_hash_str, - Curl_str_key_compare, mydtor); - if(rc) - { - fail("Curl_hash_init failed to initialize static hash!"); - goto unit_test_abort; - } value = malloc(sizeof(int)); - value2 = malloc(sizeof(int)); - + abort_unless(value != NULL, "Out of memory"); *value = 199; - *value2 = 204; - Curl_hash_add(&hash_static, &key, klen, value); + nodep = Curl_hash_add(&hash_static, &key, klen, value); + if(!nodep) + free(value); + abort_unless(nodep, "insertion into hash failed"); Curl_hash_clean(&hash_static); /* Attempt to add another key/value pair */ - Curl_hash_add(&hash_static, &key2, klen, value2); + value2 = malloc(sizeof(int)); + abort_unless(value2 != NULL, "Out of memory"); + *value2 = 204; + nodep = Curl_hash_add(&hash_static, &key2, klen, value2); + if(!nodep) + free(value2); + abort_unless(nodep, "insertion into hash failed"); - Curl_hash_destroy(&hash_static); - UNITTEST_STOP |