Capture expected log in test_circuitbuild.c

Capture the warning for the unhandled circuit purpose test case, both
to clean up the test log and to confirm that it gets logged.
This commit is contained in:
Taylor Yu 2017-04-03 15:00:33 -04:00
parent 67c88fd10d
commit b1c7e5d8c0

View File

@ -8,6 +8,7 @@
#include "or.h" #include "or.h"
#include "test.h" #include "test.h"
#include "test_helpers.h" #include "test_helpers.h"
#include "log_test_helpers.h"
#include "config.h" #include "config.h"
#include "circuitbuild.h" #include "circuitbuild.h"
@ -107,11 +108,15 @@ test_new_route_len_unhandled_exit(void *arg)
MOCK(count_acceptable_nodes, mock_count_acceptable_nodes); MOCK(count_acceptable_nodes, mock_count_acceptable_nodes);
tor_capture_bugs_(1); tor_capture_bugs_(1);
setup_full_capture_of_logs(LOG_WARN);
r = new_route_len(CIRCUIT_PURPOSE_CONTROLLER, &dummy_ei, &dummy_nodes); r = new_route_len(CIRCUIT_PURPOSE_CONTROLLER, &dummy_ei, &dummy_nodes);
tt_int_op(DEFAULT_ROUTE_LEN + 1, OP_EQ, r); tt_int_op(DEFAULT_ROUTE_LEN + 1, OP_EQ, r);
tt_int_op(smartlist_len(tor_get_captured_bug_log_()), OP_EQ, 1); tt_int_op(smartlist_len(tor_get_captured_bug_log_()), OP_EQ, 1);
tt_str_op(smartlist_get(tor_get_captured_bug_log_(), 0), OP_EQ, tt_str_op(smartlist_get(tor_get_captured_bug_log_(), 0), OP_EQ,
"!(exit_ei && !known_purpose)"); "!(exit_ei && !known_purpose)");
expect_single_log_msg_containing("Unhandled purpose");
expect_single_log_msg_containing("with a chosen exit; assuming routelen");
teardown_capture_of_logs();
tor_end_capture_bugs_(); tor_end_capture_bugs_();
done: done: