[tor-commits] [tor/master] In coverage builds, avoid basic-block complexity in log_debug
dgoulet at torproject.org
dgoulet at torproject.org
Tue May 28 19:08:45 UTC 2019
commit 2bb5d8148b2c15e9573a7f041ef631bdf4429b4b
Author: Nick Mathewson <nickm at torproject.org>
Date: Wed May 15 08:27:02 2019 -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.
---
src/lib/log/log.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/lib/log/log.h b/src/lib/log/log.h
index a381220af..4a3ea0ad5 100644
--- 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, ...)
More information about the tor-commits
mailing list