diff options
author | Nick Mathewson <nickm@torproject.org> | 2016-07-06 13:01:08 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2016-07-06 13:01:08 -0400 |
commit | 08cc0ef8320e614c1a33ea5e70bef4f5809981f2 (patch) | |
tree | 8f456ed5820804a62f7788050be37d6ee8526124 | |
parent | 96d32f02f2f9d37454665325237cdc2adf7ee2d8 (diff) | |
download | tor-08cc0ef8320e614c1a33ea5e70bef4f5809981f2.tar.gz tor-08cc0ef8320e614c1a33ea5e70bef4f5809981f2.zip |
Capture the LOG_ERR messages in our tests that had logged errors.
(It's confusing for the test to write an expected error to stdout,
and then tell the user "OK".)
-rw-r--r-- | src/test/test_address.c | 6 | ||||
-rw-r--r-- | src/test/test_util.c | 9 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/test/test_address.c b/src/test/test_address.c index 3e5af56c52..d621ee5870 100644 --- a/src/test/test_address.c +++ b/src/test/test_address.c @@ -26,6 +26,7 @@ #include "or.h" #include "address.h" #include "test.h" +#include "log_test_helpers.h" /** Return 1 iff <b>sockaddr1</b> and <b>sockaddr2</b> represent * the same IP address and port combination. Otherwise, return 0. @@ -822,7 +823,10 @@ test_address_get_if_addrs6_list_no_internal(void *arg) (void)arg; + int prev_level = setup_capture_of_logs(LOG_ERR); /* We might drop a log_err */ results = get_interface_address6_list(LOG_ERR, AF_INET6, 0); + tt_int_op(smartlist_len(mock_saved_logs()), OP_LE, 1); + teardown_capture_of_logs(prev_level); tt_assert(results != NULL); /* Work even on systems without IPv6 interfaces */ @@ -1110,7 +1114,7 @@ struct testcase_t address_tests[] = { ADDRESS_TEST(get_if_addrs_list_internal, 0), ADDRESS_TEST(get_if_addrs_list_no_internal, 0), ADDRESS_TEST(get_if_addrs6_list_internal, 0), - ADDRESS_TEST(get_if_addrs6_list_no_internal, 0), + ADDRESS_TEST(get_if_addrs6_list_no_internal, TT_FORK), ADDRESS_TEST(get_if_addrs_internal_fail, 0), ADDRESS_TEST(get_if_addrs_no_internal_fail, 0), ADDRESS_TEST(get_if_addrs, 0), diff --git a/src/test/test_util.c b/src/test/test_util.c index c331a662a5..19763fb737 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -13,6 +13,7 @@ #include "test.h" #include "memarea.h" #include "util_process.h" +#include "log_test_helpers.h" #ifdef HAVE_PWD_H #include <pwd.h> @@ -5187,6 +5188,7 @@ test_util_pwdb(void *arg) const struct passwd *me = NULL, *me2, *me3; char *name = NULL; char *dir = NULL; + int prev_level = -100; /* Uncached case. */ /* Let's assume that we exist. */ @@ -5225,8 +5227,13 @@ test_util_pwdb(void *arg) } tt_assert(found); tor_free(dir); + + prev_level = setup_capture_of_logs(LOG_ERR); /* We should do a LOG_ERR */ dir = get_user_homedir(badname); tt_assert(dir == NULL); + tt_int_op(smartlist_len(mock_saved_logs()), OP_EQ, 1); + teardown_capture_of_logs(prev_level); + prev_level = -100; /* Now try to find a user that doesn't exist by ID. */ found = 0; @@ -5243,6 +5250,8 @@ test_util_pwdb(void *arg) done: tor_free(name); tor_free(dir); + if (prev_level >= 0) + teardown_capture_of_logs(prev_level); } #endif |