Tolerate another failure mode of get_if_addres6_list in tests

This commit is contained in:
Nick Mathewson 2016-09-08 11:47:16 -04:00
parent f9cb9d8990
commit 6a1454aa46
2 changed files with 17 additions and 1 deletions

View File

@ -45,6 +45,11 @@ void mock_dump_saved_logs(void);
assert_log_predicate(mock_saved_log_has_message_containing(str), \ assert_log_predicate(mock_saved_log_has_message_containing(str), \
"expected log to contain " # str); "expected log to contain " # str);
#define expect_log_msg_containing_either(str1, str2) \
assert_log_predicate(mock_saved_log_has_message_containing(str1) || \
mock_saved_log_has_message_containing(str2), \
"expected log to contain " # str1 " or " # str2);
#define expect_single_log_msg_containing(str) \ #define expect_single_log_msg_containing(str) \
do { \ do { \
assert_log_predicate(mock_saved_log_has_message_containing(str), \ assert_log_predicate(mock_saved_log_has_message_containing(str), \

View File

@ -794,7 +794,16 @@ test_address_get_if_addrs6_list_internal(void *arg)
(void)arg; (void)arg;
/* We might drop a log_err */
int prev_level = setup_full_capture_of_logs(LOG_ERR);
results = get_interface_address6_list(LOG_ERR, AF_INET6, 1); results = get_interface_address6_list(LOG_ERR, AF_INET6, 1);
tt_int_op(smartlist_len(mock_saved_logs()), OP_LE, 1);
if (smartlist_len(mock_saved_logs()) == 1) {
expect_log_msg_containing_either("connect() failed",
"unable to create socket");
}
teardown_capture_of_logs(prev_level);
tt_assert(results != NULL); tt_assert(results != NULL);
/* Work even on systems without IPv6 interfaces */ /* Work even on systems without IPv6 interfaces */
@ -828,7 +837,9 @@ test_address_get_if_addrs6_list_no_internal(void *arg)
results = get_interface_address6_list(LOG_ERR, AF_INET6, 0); results = get_interface_address6_list(LOG_ERR, AF_INET6, 0);
tt_int_op(smartlist_len(mock_saved_logs()), OP_LE, 1); tt_int_op(smartlist_len(mock_saved_logs()), OP_LE, 1);
if (smartlist_len(mock_saved_logs()) == 1) { if (smartlist_len(mock_saved_logs()) == 1) {
expect_log_msg_containing("connect() failed"); expect_log_msg_containing_either("connect() failed",
"unable to create socket");
} }
teardown_capture_of_logs(prev_level); teardown_capture_of_logs(prev_level);