Bring the dimap tests up to 100%

This commit is contained in:
Nick Mathewson 2015-08-17 12:52:01 -04:00
parent 2691b2bb06
commit 7f9a33a800

View File

@ -3611,6 +3611,50 @@ test_util_di_ops(void *arg)
;
}
static void
test_util_di_map(void *arg)
{
(void)arg;
di_digest256_map_t *dimap = NULL;
uint8_t key1[] = "Robert Anton Wilson ";
uint8_t key2[] = "Martin Gardner, _Fads&fallacies";
uint8_t key3[] = "Tom Lehrer, _Be Prepared_. ";
uint8_t key4[] = "Ursula Le Guin,_A Wizard of... ";
char dflt_entry[] = "'You have made a good beginning', but no more";
tt_int_op(32, ==, sizeof(key1));
tt_int_op(32, ==, sizeof(key2));
tt_int_op(32, ==, sizeof(key3));
tt_ptr_op(dflt_entry, ==, dimap_search(dimap, key1, dflt_entry));
char *str1 = tor_strdup("You are precisely as big as what you love"
" and precisely as small as what you allow"
" to annoy you.");
char *str2 = tor_strdup("Let us hope that Lysenko's success in Russia will"
" serve for many generations to come as another"
" reminder to the world of how quickly and easily"
" a science can be corrupted when ignorant"
" political leaders deem themselves competent"
" to arbitrate scientific disputes");
char *str3 = tor_strdup("Don't write naughty words on walls "
"if you can't spell.");
dimap_add_entry(&dimap, key1, str1);
dimap_add_entry(&dimap, key2, str2);
dimap_add_entry(&dimap, key3, str3);
tt_ptr_op(str1, ==, dimap_search(dimap, key1, dflt_entry));
tt_ptr_op(str3, ==, dimap_search(dimap, key3, dflt_entry));
tt_ptr_op(str2, ==, dimap_search(dimap, key2, dflt_entry));
tt_ptr_op(dflt_entry, ==, dimap_search(dimap, key4, dflt_entry));
done:
dimap_free(dimap, tor_free_);
}
/**
* Test counting high bits
*/
@ -4395,6 +4439,7 @@ struct testcase_t util_tests[] = {
UTIL_LEGACY(path_is_relative),
UTIL_LEGACY(strtok),
UTIL_LEGACY(di_ops),
UTIL_TEST(di_map, 0),
UTIL_TEST(round_to_next_multiple_of, 0),
UTIL_TEST(laplace, 0),
UTIL_TEST(find_str_at_start_of_line, 0),