1 #include "../../../test.h" 2 #include "../../../../src/alloc.h" 3 #include "../../../../src/server/protocol2/champ_chooser/hash.h" 4 tear_down(void)5static void tear_down(void) 6 { 7 hash_delete_all(); 8 alloc_check(); 9 } 10 START_TEST(test_hash_weak_add_alloc_error)11START_TEST(test_hash_weak_add_alloc_error) 12 { 13 uint64_t f0=0xFF11223344556699; 14 alloc_errors=1; 15 fail_unless(!hash_weak_add(f0)); 16 tear_down(); 17 } 18 END_TEST 19 START_TEST(test_hash_weak_add)20START_TEST(test_hash_weak_add) 21 { 22 uint64_t f0=0xFF11223344556699; 23 uint64_t f1=0xFF11223344556690; 24 uint64_t f2=0xFF00112233445566; 25 uint64_t f3=0xFF001122AA445566; 26 fail_unless(hash_weak_add(f0)!=NULL); 27 fail_unless(hash_weak_add(f1)!=NULL); 28 fail_unless(hash_weak_find(f0)!=NULL); 29 fail_unless(hash_weak_find(f1)!=NULL); 30 fail_unless(hash_weak_find(f2)==NULL); 31 fail_unless(hash_weak_find(f3)==NULL); 32 tear_down(); 33 } 34 END_TEST 35 START_TEST(test_hash_load_fail_to_open)36START_TEST(test_hash_load_fail_to_open) 37 { 38 fail_unless(hash_load("champ", "dir")==HASH_RET_TEMP); 39 } 40 END_TEST 41 suite_server_protocol2_champ_chooser_hash(void)42Suite *suite_server_protocol2_champ_chooser_hash(void) 43 { 44 Suite *s; 45 TCase *tc_core; 46 47 s=suite_create("server_protocol2_champ_chooser_hash"); 48 49 tc_core=tcase_create("Core"); 50 51 tcase_add_test(tc_core, test_hash_weak_add_alloc_error); 52 tcase_add_test(tc_core, test_hash_weak_add); 53 tcase_add_test(tc_core, test_hash_load_fail_to_open); 54 suite_add_tcase(s, tc_core); 55 56 return s; 57 } 58