a2f5d1397a
- vol_lock(App/fs/vol_lock.c):33 用例。核心不变量是 fail-open—— 互斥量创建失败时 vol_lock_wait() 必须返回 1 且绝不阻塞,因为调用者 defaultTask 是看门狗喂狗点;板端该路径只在内存耗尽时才可能走到。 - time_sync(App/sync/time_sync.c):80 用例。本模块是 N-17 看门狗风险的 全部逻辑贡献者,用例钉死分片喂狗节奏、监听退避、报文重组(半包/粘连/ EOF/真错/预算耗尽/tick 回绕)、重听门控;用 longjmp 跳出 for(;;) 任务循环。 - 两套均为纯逻辑主机侧测试,MSVC 离线编译真实源文件(#include 纳入)。 - 新增钩子 vol-lock-unit-test、time-sync-unit-test(7f/7g)。 - 全量主机单测:watchdog 39 + sys_clock 100 + cfg_file 149 + phasor 57 + adc_input 70 + vol_lock 33 + time_sync 80 = 528 项,全绿。
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
/*
|
|
* 主机侧单测桩:sys_events.h
|
|
* 模块功能:为 App/sync/time_sync.c 提供主机可编译的系统就绪事件组句柄与事件位。
|
|
*
|
|
* ⚠ 仅供 test/host/time_sync/ 使用,不参与 MCU 构建。
|
|
* 真实头(App/app/sys_events.h)包含 cmsis_os2.h;本桩改为包含同名桩,
|
|
* 避免拖入整套 CMSIS-RTOS/FreeRTOS。
|
|
*
|
|
* 事件位取值与真实头逐位一致(本模块只用到 SYS_EVT_NET_READY)。
|
|
*
|
|
* 创建日期:2026-10-10
|
|
*/
|
|
|
|
#ifndef SYS_EVENTS_H
|
|
#define SYS_EVENTS_H
|
|
|
|
#include "cmsis_os2.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* 系统就绪事件组句柄(真实工程由 MX_FREERTOS_Init 创建;主机侧由测试单元定义) */
|
|
extern osEventFlagsId_t sys_evtHandle;
|
|
|
|
/* 各子系统"就绪"事件位(与 App/app/sys_events.h 一致) */
|
|
#define SYS_EVT_NET_READY (1u << 0)
|
|
#define SYS_EVT_STORAGE_READY (1u << 1)
|
|
#define SYS_EVT_FTP_READY (1u << 2)
|
|
#define SYS_EVT_TIMESYNC_READY (1u << 3)
|
|
#define SYS_EVT_NET_RECONFIG (1u << 4)
|
|
#define SYS_EVT_CFG_SAVE (1u << 5)
|
|
#define SYS_EVT_CONSOLE_TX (1u << 6)
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* SYS_EVENTS_H */
|