119#define TEST_LOGGING_SETUP_AND_TEARDOWN() \
120 void setup_quiet_test_logging(void) { \
121 test_logging_disable(true, true); \
123 void restore_test_logging(void) { \
124 test_logging_restore(); \
140#define TEST_LOGGING_SETUP_AND_TEARDOWN_WITH_LOG_LEVELS(setup_level, restore_level, disable_stdout, disable_stderr) \
141 void setup_quiet_test_logging(void) { \
142 log_set_level(setup_level); \
143 test_logging_disable(disable_stdout, disable_stderr); \
145 void restore_test_logging(void) { \
146 log_set_level(restore_level); \
147 test_logging_restore(); \
163#define TEST_LOGGING_SETUP_AND_TEARDOWN_WITH_LOG_LEVEL() \
164 TEST_LOGGING_SETUP_AND_TEARDOWN_WITH_LOG_LEVELS(LOG_FATAL, LOG_DEBUG, true, true)
178#define TEST_SUITE_WITH_QUIET_LOGGING_AND_LOG_LEVELS(suite_name, setup_level, restore_level, disable_stdout, \
179 disable_stderr, ...) \
180 void setup_quiet_test_logging_##suite_name(void) { \
181 log_set_level(setup_level); \
182 test_logging_disable(disable_stdout, disable_stderr); \
184 void restore_test_logging_##suite_name(void) { \
185 log_set_level(restore_level); \
186 test_logging_restore(); \
188 TestSuite(suite_name, .init = setup_quiet_test_logging_##suite_name, .fini = restore_test_logging_##suite_name, \
204#define TEST_SUITE_WITH_QUIET_LOGGING(suite_name, ...) \
205 void setup_quiet_test_logging_##suite_name(void) { \
206 test_logging_disable(true, true); \
208 void restore_test_logging_##suite_name(void) { \
209 test_logging_restore(); \
211 TestSuite(suite_name, .init = setup_quiet_test_logging_##suite_name, .fini = restore_test_logging_##suite_name, \
226#define TEST_SUITE_WITH_QUIET_LOGGING_AND_LOG_LEVEL(suite_name, ...) \
227 void setup_quiet_test_logging_##suite_name(void) { \
228 log_set_level(LOG_FATAL); \
229 test_logging_disable(true, true); \
231 void restore_test_logging_##suite_name(void) { \
232 log_set_level(LOG_DEBUG); \
233 test_logging_restore(); \
235 TestSuite(suite_name, .init = setup_quiet_test_logging_##suite_name, .fini = restore_test_logging_##suite_name, \
252#define TEST_LOGGING_TEMPORARILY_DISABLE() \
253 bool _logging_was_disabled = test_logging_is_disabled(); \
254 if (!_logging_was_disabled) { \
255 test_logging_disable(true, true); \
273#define TEST_LOGGING_TEMPORARILY_DISABLE_STDOUT() \
274 bool _logging_was_disabled = test_logging_is_disabled(); \
275 if (!_logging_was_disabled) { \
276 test_logging_disable(true, false); \
293#define TEST_LOGGING_TEMPORARILY_DISABLE_STDERR() \
294 bool _logging_was_disabled = test_logging_is_disabled(); \
295 if (!_logging_was_disabled) { \
296 test_logging_disable(false, true); \
311#define TEST_SUITE_WITH_DEBUG_LOGGING(suite_name, ...) \
312 TEST_SUITE_WITH_QUIET_LOGGING_AND_LOG_LEVELS(suite_name, LOG_DEBUG, LOG_DEBUG, false, false, ##__VA_ARGS__)
325#define TEST_SUITE_WITH_VERBOSE_LOGGING(suite_name, ...) TEST_SUITE_WITH_DEBUG_LOGGING(suite_name, ##__VA_ARGS__)
int test_logging_disable(bool disable_stdout, bool disable_stderr)
Disable stdout/stderr output for quiet test execution.
int test_logging_restore(void)
Restore stdout/stderr output after test logging disable.
bool test_logging_is_disabled(void)
Check if logging is currently disabled.