feat: 实现 test/harness 集成测试启动器
This commit is contained in:
@@ -96,6 +96,29 @@
|
||||
- 备选方案:失败时自动还原备份再退出。
|
||||
- 影响:与任务说明一致;运维需知备份路径。
|
||||
|
||||
### T0.5 2026-09-30
|
||||
|
||||
1. **admin init / 管理员密码**
|
||||
- 原条款:TASKS T0.5「自动执行 `admin init` 拿到管理员密码」;命令行启动器 JSON 含管理员密码。
|
||||
- 实际做法:定义 `AdminInitializer`(默认 `CLIAdminInit`);二进制尚无 `admin` 子命令时返回 `ErrAdminInitUnsupported`,启动器跳过并继续起 serve;`admin_password` 字段为空字符串。示例集成测试只验 `/healthz`。
|
||||
- 原因:`admin init` 属 P1,当前 main 仅有 `version`/`serve`。
|
||||
- 备选方案:harness 内嵌假密码写入库(无表结构可写);或阻塞等 P1。
|
||||
- 影响:P1 合入后无需改调用方接口,密码解析约定见 `parseAdminPassword`;Q/SDK 集成测试在拿到非空密码前勿依赖管理登录。
|
||||
|
||||
2. **MQTT 测试客户端范围**
|
||||
- 原条款:能收发 DEVELOPMENT 第 6 节应用帧。
|
||||
- 实际做法:提供 TCP / WebSocket(`/mqtt`,子协议 `mqtt`)传输层 `MQTTClient`,收发原始 MQTT 控制包字节;不实现 CONNECT/hello/主题业务。
|
||||
- 原因:内置 broker 与协议处理尚未合入(连接 N / 后续任务);T0.5 先给可连传输与占位 API。
|
||||
- 备选方案:引入完整 MQTT 客户端库并编假 broker。
|
||||
- 影响:业务级帧测试在 broker 可用后由各线基于 `Send`/`Recv` 或再包一层完成。
|
||||
|
||||
3. **进程停止方式**
|
||||
- 原条款:优雅停机(DEVELOPMENT 7.8 / P1)。
|
||||
- 实际做法:测试启动器对子进程使用 `Kill`(Windows 上 `Interrupt` 不可靠)。
|
||||
- 原因:保证并行测试与清理在 Windows 上稳定。
|
||||
- 备选方案:Unix 发 SIGTERM;Windows 用 Job Object / Ctrl+Break。
|
||||
- 影响:不覆盖优雅停机验收;该验收仍归 P1/Q。
|
||||
|
||||
|
||||
## 平台 P
|
||||
|
||||
|
||||
Reference in New Issue
Block a user