Files
ctdd/tests/test_logger.c
T
portersky 657d154560 style: fix include order in all source files
Move C stdlib headers before local/project headers with a
blank line separator, matching the AGENTS.md include order rule.

Replace em dash with colon in main.c comment.
2026-06-15 04:35:44 +02:00

75 lines
1.9 KiB
C

#include "unity.h"
#include "ctdd/logger.h"
#include "Mocklog_write.h"
void setUp(void) { Mocklog_write_Init(); logger_set_level(LOG_DEBUG); }
void tearDown(void) { Mocklog_write_Verify(); Mocklog_write_Destroy(); }
void test_log_debug_emits_at_debug_level(void) {
log_write_Expect("[DEBUG] hello");
log_debug("hello");
}
void test_log_info_emits_at_debug_level(void) {
log_write_Expect("[INFO] world");
log_info("world");
}
void test_log_warn_emits_at_warn_level(void) {
logger_set_level(LOG_WARN);
log_write_Expect("[WARN] alert");
log_warn("alert");
}
void test_log_err_emits_at_warn_level(void) {
logger_set_level(LOG_WARN);
log_write_Expect("[ERROR] fatal");
log_err("fatal");
}
void test_log_debug_suppressed_at_info_level(void) {
logger_set_level(LOG_INFO);
log_debug("silent");
}
void test_log_info_suppressed_at_warn_level(void) {
logger_set_level(LOG_WARN);
log_info("silent");
}
void test_log_warn_suppressed_at_error_level(void) {
logger_set_level(LOG_ERROR);
log_warn("silent");
}
void test_log_none_suppresses_all(void) {
logger_set_level(LOG_NONE);
log_debug("silent");
log_info("silent");
log_warn("silent");
log_err("silent");
}
void test_level_can_be_raised_then_lowered(void) {
logger_set_level(LOG_ERROR);
log_info("silent");
logger_set_level(LOG_DEBUG);
log_write_Expect("[INFO] now visible");
log_info("now visible");
}
int main(void) {
UNITY_BEGIN();
RUN_TEST(test_log_debug_emits_at_debug_level);
RUN_TEST(test_log_info_emits_at_debug_level);
RUN_TEST(test_log_warn_emits_at_warn_level);
RUN_TEST(test_log_err_emits_at_warn_level);
RUN_TEST(test_log_debug_suppressed_at_info_level);
RUN_TEST(test_log_info_suppressed_at_warn_level);
RUN_TEST(test_log_warn_suppressed_at_error_level);
RUN_TEST(test_log_none_suppresses_all);
RUN_TEST(test_level_can_be_raised_then_lowered);
return UNITY_END();
}