summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-01-14 01:07:53 +0100
committerSander Vrijders <sander@ouroboros.rocks>2026-01-19 08:14:55 +0100
commit8aa6ab4d29df80adde0d512244d43d38264bf32e (patch)
tree314b0f5aad45f740d6de34d9830853fb24a4fcf0 /include
parent1433fa50cb4e162a0557f207a1097d165392ba8e (diff)
downloadouroboros-8aa6ab4d29df80adde0d512244d43d38264bf32e.tar.gz
ouroboros-8aa6ab4d29df80adde0d512244d43d38264bf32e.zip
build: Add option to toggle Ouroboros logging in tests
The test output is a bit polluted with logs originating fomr the logging system, e.g.: 23: test_bind_prog started. 23: ==16636== reg/name(DB): Add prog reg_test to name testname. 23: ==16636== reg(EE): Removing from names. 23: test_bind_prog succeeded. This adds a flag DISABLE_TEST_LOGGING that suppresses log_* output in tests to keep them clean: 23: test_bind_prog started. 23: test_bind_prog succeeded. The status is printed in CMake output: -- Ouroboros logging in test output disabled -- Ouroboros logging in test output enabled By default the flag is ON (clean test output). Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'include')
-rw-r--r--include/ouroboros/logs.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/include/ouroboros/logs.h b/include/ouroboros/logs.h
index f1c401fa..31f11836 100644
--- a/include/ouroboros/logs.h
+++ b/include/ouroboros/logs.h
@@ -81,6 +81,7 @@ void log_fini(void);
} \
} while (0)
+#ifndef OUROBOROS_DISABLE_LOGGING
#define log_err(...) \
__olog(CLR_RED, ERROR_CODE, LOG_ERR, __VA_ARGS__)
#define log_warn(...) \
@@ -95,20 +96,29 @@ void log_fini(void);
__olog_id(CLR_YELLOW, WARN_CODE, LOG_WARNING, id, fmt, ## __VA_ARGS__)
#define log_info_id(id, fmt, ...) \
__olog_id(CLR_GREEN, INFO_CODE, LOG_INFO, id, fmt, ## __VA_ARGS__)
+#else /* OUROBOROS_DISABLE_LOGGING: all logging disabled */
+#define log_err(...) do { } while (0)
+#define log_warn(...) do { } while (0)
+#define log_info(...) do { } while (0)
-#ifdef CONFIG_OUROBOROS_DEBUG
+#define log_err_id(id, fmt, ...) do { (void)(id); } while (0)
+#define log_warn_id(id, fmt, ...) do { (void)(id); } while (0)
+#define log_info_id(id, fmt, ...) do { (void)(id); } while (0)
+
+#endif /* OUROBOROS_DISABLE_LOGGING */
+
+#if defined(OUROBOROS_DISABLE_LOGGING) || !defined(CONFIG_OUROBOROS_DEBUG)
+#define log_dbg(...) do { } while (0)
+#define log_dbg_id(id, ...) do { (void)(id); } while (0)
+#define log_proto(...) do { } while (0)
+#define log_proto_id(id, ...) do { (void)(id); } while (0)
+#else
#define log_dbg(...) __olog("", DEBUG_CODE, LOG_DEBUG, __VA_ARGS__)
#define log_dbg_id(id, fmt, ...) \
__olog_id("", DEBUG_CODE, LOG_DEBUG, id, fmt, ## __VA_ARGS__)
#define log_proto(...) __olog(CLR_BLUE, PROTO_CODE, LOG_DEBUG, __VA_ARGS__)
-#define log_proto_id(id, fmt, ...) \
+#define log_proto_id(id, fmt, ...) \
__olog_id(CLR_BLUE, INFO_CODE, LOG_INFO, id, fmt, ## __VA_ARGS__)
-
-#else
-#define log_dbg(...) do { } while (0)
-#define log_dbg_id(...) do { } while (0)
-#define log_proto(...) do { } while (0)
-#define log_proto_id(...) do { } while (0)
#endif
#endif /* OUROBOROS_LIB_LOGS_H */