diff options
| author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2026-01-14 01:07:53 +0100 |
|---|---|---|
| committer | Sander Vrijders <sander@ouroboros.rocks> | 2026-01-19 08:14:55 +0100 |
| commit | 8aa6ab4d29df80adde0d512244d43d38264bf32e (patch) | |
| tree | 314b0f5aad45f740d6de34d9830853fb24a4fcf0 /include | |
| parent | 1433fa50cb4e162a0557f207a1097d165392ba8e (diff) | |
| download | ouroboros-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.h | 26 |
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 */ |
