tor

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

commit 2bb5d8148b2c15e9573a7f041ef631bdf4429b4b
parent 29955f13e5bc8e61724759ec7245aae602672111
Author: Nick Mathewson <nickm@torproject.org>
Date:   Wed, 15 May 2019 08:27:02 -0400

In coverage builds, avoid basic-block complexity in log_debug

Ordinarily we skip calling log_fn(LOG_DEBUG,...) if debug logging is
completely disabled.  However, in coverage builds, this means that
we get spurious complaints about partially covered basic blocks, in
a way that makes our coverage determinism harder to check.

Diffstat:
Msrc/lib/log/log.h | 6++++++
1 file changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/lib/log/log.h b/src/lib/log/log.h @@ -194,6 +194,11 @@ void tor_log_get_logfile_names(struct smartlist_t *out); extern int log_global_min_severity_; +#ifdef TOR_COVERAGE +/* For coverage builds, we try to avoid our log_debug optimization, since it + * can have weird effects on internal macro coverage. */ +#define debug_logging_enabled() (1) +#else static inline bool debug_logging_enabled(void); /** * Return true iff debug logging is enabled for at least one domain. @@ -202,6 +207,7 @@ static inline bool debug_logging_enabled(void) { return PREDICT_UNLIKELY(log_global_min_severity_ == LOG_DEBUG); } +#endif void log_fn_(int severity, log_domain_mask_t domain, const char *funcname, const char *format, ...)