Files
STM32F4-Base/test/sd2506_test.h
2026-08-28 21:59:04 +08:00

48 lines
1.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef SD2506_TEST_H
#define SD2506_TEST_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/* ============ Phase 使能开关(取消注释即启用,默认全开) ============ */
#define ENABLE_RTC_BASIC_TESTS /* Phase 1: 基本读写 / 走时 */
#define ENABLE_RTC_API_TESTS /* Phase 2: 全功能 API 覆盖BCD互转/温度/电压/ID/SRAM/报警) */
/* ============ 测试统计(与 STORAGE/GD5F 套件一致的独立统计) ============ */
typedef struct {
uint16_t total;
uint16_t passed;
uint16_t failed;
} sd2506_test_stats_t;
extern sd2506_test_stats_t g_sd2506_test_stats;
#define SD2506_TEST_CHECK(cond, fmt, ...) do { \
g_sd2506_test_stats.total++; \
if (cond) { \
g_sd2506_test_stats.passed++; \
DBG_INFO("[PASS] " fmt, ##__VA_ARGS__); \
} else { \
g_sd2506_test_stats.failed++; \
DBG_ERROR("[FAIL] " fmt, ##__VA_ARGS__); \
} \
} while (0)
#define SD2506_TEST_REPORT(name) do { \
DBG_INFO("=== %s: %u/%u PASSED (failed=%u) ===", \
name, g_sd2506_test_stats.passed, g_sd2506_test_stats.total, \
g_sd2506_test_stats.failed); \
} while (0)
/* 测试入口:由 StartCh395fTestTask 经 TEST_SUITE_RTC 调度,顺序执行 Phase 1~3 */
void sd2506_test_run(void);
#ifdef __cplusplus
}
#endif
#endif /* SD2506_TEST_H */