tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 3baf99e81bcded352b8e8a3416148e53a4801a11
parent 16430fdaf546cf8a2711a4c87380398bd4358d54
Author: Nick Mathewson <nickm@torproject.org>
Date:   Wed, 16 Jan 2019 15:54:31 -0500

Merge branch 'ticket28668_035' into ticket28668_040

Diffstat:
Achanges/ticket28668 | 3+++
Msrc/test/testing_common.c | 18++++++++++++++++++
2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/changes/ticket28668 b/changes/ticket28668 @@ -0,0 +1,3 @@ + o Minor features (testing): + - Treat all unexpected ERR and BUG messages as test failures. + Closes ticket 28668. diff --git a/src/test/testing_common.c b/src/test/testing_common.c @@ -241,6 +241,15 @@ tinytest_postfork(void) init_pregenerated_keys(); } +static void +log_callback_failure(int severity, uint32_t domain, const char *msg) +{ + (void)msg; + if (severity == LOG_ERR || (domain & LD_BUG)) { + tinytest_set_test_failed_(); + } +} + /** Main entry point for unit test code: parse the command line, and run * some unit tests. */ int @@ -280,6 +289,7 @@ main(int c, const char **v) c = i_out; { + /* setup logs to stdout */ log_severity_list_t s; memset(&s, 0, sizeof(s)); set_log_severity_config(loglevel, LOG_ERR, &s); @@ -287,6 +297,14 @@ main(int c, const char **v) s.masks[LOG_WARN-LOG_ERR] |= LD_BUG; add_stream_log(&s, "", fileno(stdout)); } + { + /* Setup logs that cause failure. */ + log_severity_list_t s; + memset(&s, 0, sizeof(s)); + set_log_severity_config(LOG_ERR, LOG_ERR, &s); + s.masks[LOG_WARN-LOG_ERR] |= LD_BUG; + add_callback_log(&s, log_callback_failure); + } flush_log_messages_from_startup(); init_protocol_warning_severity_level();