Add unit test for format_hex_number_for_helper_exit_status()

This commit is contained in:
Andrea Shepard 2012-06-20 18:38:07 -07:00 committed by Nick Mathewson
parent c21af69f29
commit 770374a6b3

View File

@ -2464,6 +2464,44 @@ test_util_spawn_background_partial_read(void *ptr)
tor_process_handle_destroy(process_handle, 1);
}
/**
* Test for format_hex_number_for_helper_exit_status()
*/
static void
test_util_format_hex_number(void *ptr)
{
int i, len;
char buf[HEX_ERRNO_SIZE + 1];
const struct {
const char *str;
unsigned int x;
} test_data[] = {
{"0", 0},
{"1", 1},
{"273A", 0x273a},
{"FFFF", 0xffff},
#if UINT_MAX >= 0xffffffff
{"31BC421D", 0x31bc421d},
{"FFFFFFFF", 0xffffffff},
#endif
{NULL, 0}
};
(void)ptr;
for (i = 0; test_data[i].str != NULL; ++i) {
len = format_hex_number_for_helper_exit_status(test_data[i].x,
buf, HEX_ERRNO_SIZE);
test_neq(len, 0);
buf[len] = '\0';
test_streq(buf, test_data[i].str);
}
done:
return;
}
/**
* Test that we can properly format q Windows command line
*/
@ -3031,6 +3069,7 @@ struct testcase_t util_tests[] = {
UTIL_TEST(spawn_background_ok, 0),
UTIL_TEST(spawn_background_fail, 0),
UTIL_TEST(spawn_background_partial_read, 0),
UTIL_TEST(format_hex_number, 0),
UTIL_TEST(join_win_cmdline, 0),
UTIL_TEST(split_lines, 0),
UTIL_TEST(n_bits_set, 0),