wandering1
|
4a4cd29342
|
S7:@test闭环增加自检结论联合判定(selftest.log缺失或空=PASS、有64B记录=FAIL;FTP匿名抓取+本地副本两种来源)
|
2026-10-02 15:06:36 +08:00 |
|
wandering1
|
b0851b2f70
|
修复L0.5单测harness工具链探测:VS2026实际安装目录为18,补入VS_ROOTS(本机3项主机侧单测由ENV失败转PASS)
|
2026-10-02 15:00:31 +08:00 |
|
wandering1
|
d9425ddd23
|
测试:补启动段可观测性与模拟器差距清单,run_all_suites 加只编译模式(S10+S13+S6)
CI / L0 静态门禁 (pre-commit) (push) Successful in 1m10s
CI / L0.5 主机侧单测 (MSVC) (push) Successful in 25s
|
2026-10-02 13:57:25 +08:00 |
|
wandering1
|
fe963e7d91
|
测试:新增 cfg_file 主机侧单测并修复外科手术保存死码缺陷(S1-b+S2)
CI / L0 静态门禁 (pre-commit) (push) Successful in 49s
CI / L0.5 主机侧单测 (MSVC) (push) Successful in 17s
|
2026-10-02 13:00:54 +08:00 |
|
wandering1
|
fac9d1c409
|
测试:新增 sys_clock 主机侧单测并修复 Zeller 星期缺陷
|
2026-10-02 11:40:35 +08:00 |
|
wandering1
|
2055de0303
|
测试:落地测试架构改进 T-1~T-5(套件开关门禁/汇总行校验/通用 harness/公共断言宏/多套件编排)
背景:L0.5 主机侧单测落地后复审测试架构,给出 6 条改进意见(P0~P3),
登记进 docs/待处理内容.md「测试与验证基础设施」后逐条实施。
- T-1(P0) 测试套件开关门禁:新增 scripts/check_test_suite.py + pre-commit 钩子
test-suite-switch,默认要求产品构建(全部 TEST_SUITE_* 注释),跑套件回归用
--allow-test-build / ALLOW_TEST_BUILD=1 显式放行。顺带把 test_config.h 中长期
开启的 TEST_SUITE_CH395F 改回注释(仓库此前躺着的是测试固件)。
- T-2(P1) verify_log.py 增加 --require-suite-summary:要求
"=== <名称>: N/M PASSED (failed=0) ===" 且 N>0,堵住"套件没跑到汇总行/
断言数为 0 仍判 PASS"的盲区;run_boot_test.py 同名参数透传。不传参向后兼容。
- T-3(P1) 抽取通用 harness test/host/common/unit_test_harness.py(工具链探测/
INCLUDE-LIB 拼接/wd4819/GBK 解码/退出码契约);watchdog 运行器 170→55 行,只声明 TestBuild。
- T-4(P2) 新增 test/board/test_common.h 集中断言内核(TEST_CHECK_IMPL/TEST_REPORT_IMPL),
4 套件各用一行宏绑定自身统计变量(保持 g_xxx_stats 独立、防跨套件串数)。
刻意不 include dbg_log.h——否则冻结 DBG_TAG 默认值触发 #47-D 重定义警告。
- T-5(P2) 新增 test/run_all_suites.py 多套件回归编排,try/finally 无条件还原套件开关。
验证:@build 产品构建 0 错 0 警;4 套件逐一构建均 0/0;看门狗单测 39/39 PASS;
pre-commit 14 钩子全通过;编排脚本 dry-run/开关切换/异常还原均实测通过。
|
2026-10-01 07:28:57 +08:00 |
|
wandering1
|
73941da6b1
|
看门狗判定状态机增加主机侧单元测试(L0.5 层)
为 task_watchdog.c 的判定逻辑(位图取走清零 / 必需掩码 0x37 判定 /
miss_streak 连续 8 次停喂 / 100ms 抽样节流 / tick 回绕安全)补一层
主机侧纯逻辑单元测试,弥补此前只能靠真机或模拟器才能发现回归的空白。
架构(沿用项目既有"共享核心 + 平台后端"做法,参照 cfg_file_store):
- task_watchdog.h 末段新增"平台后端(内部)"声明 3 个钩子
(wd_platform_feed / _start / _tick_ms),MCU 端以 __weak 提供默认实现,
行为与重构前逐字一致(@build 0 错误 0 警告,Flash +20B)。
- 主机侧单测以同名强符号覆盖三钩子,即可离线注入/观测,无需碰 MCU 代码。
- 测试文件 #include 生产源文件本身,保证测的是真代码而非副本。
- 测试专用复位 task_wd_test_reset() 仅 TASK_WATCHDOG_UNIT_TEST 下编入,
MCU 构建零代码零符号。
测试(test/host/watchdog/,MSVC 离线编译,纯标准库驱动):
- 39 项断言全过(退出码 0);注入故障可复现退出码 1。
- run_unit_test.py 直接拼 INCLUDE/LIB 调 cl.exe,绕开本机被禁的 reg.exe。
- stub/ 三桩头覆盖 main.h / iwdg.h / dbg_log.h。
门禁:pre-commit 新增 watchdog-unit-test 本地钩子(L0.5 层),仅被测文件
或其测试变动时触发;测试开发标准流程.md 新增 L0.5 层说明。
顺带改善:task_watchdog.c 的节流基线 s_last_tick 由函数内 static 提为文件
static(可测性 + 模块状态归一)。
|
2026-10-01 06:57:01 +08:00 |
|
wandering1
|
22559365b9
|
整理 App 与 test 目录:按职责分子目录并同步全库引用
|
2026-09-26 12:52:39 +08:00 |
|
wandering1
|
39bd06adea
|
为自建代码目录补齐 README,建立目录级导航体系
- 新增 26 份目录 README:App/(+log,task,util,protocol)、Drivers/BSP/(+8子系统)、
Src/、Inc/、scripts/、tools/(+6子工具)、test/、MDK-ARM/、simulator/(+sim,tests)
- 每份含:定位、文件清单表、关键约束/陷阱、指向 docs 权威文档
- 第三方库与生成代码目录排除(CMSIS/HAL/Middlewares/Lib/SDL2)
- docs/文档规范.md 新增 §1.1b 代码目录 README 约定;根 README 目录结构加入说明
|
2026-09-26 12:25:36 +08:00 |
|
wandering1
|
a6cdebde62
|
文档体系重组与 D-7 一致性门禁落地,清理芯片手册孤儿图片
- D-6 目录规范化:docs 根目录散落文档归入 UI设计/子系统设计/架构设计/审查记录/
环境与部署/网络 等子目录,去掉目录名空格,重命名 嵌入式C语言代码规范_V1.0.md
- D-7 三档一致性门禁:新增 scripts/check_doc_links.py(链接存在性)、
scripts/gen_task_table.py(FreeRTOS 任务表数值)、scripts/check_mem_numbers.py
(内存/Flash 体积),均支持 --check/--write/--diff,pre-commit 钩子同步注册
- D-5 文档索引:新建 docs/README.md,新建 docs/文档规范.md 约束目录命名与链接写法
- D-1 芯片手册瘦身:删除 1069 张无引用孤儿图片(77.06 MB),
docs/芯片手册 120 MB → 41 MB,已引用图片零断链
- 同步 C 源码注释中的文档路径引用(D-6 重组后),构建 0 错误 0 警告
|
2026-09-26 00:51:53 +08:00 |
|
wandering1
|
0cacdec598
|
E-02审计闭环:timeSync分片修复留档(4a1605b台架A/B 28.6s→109ms)与E-02专项回归探针
|
2026-09-22 13:17:44 +08:00 |
|
wandering1
|
06d4064366
|
修复 P0-a 重传周期 200ms 与 P0-b per-recv 日志,台架重锁 M2/M3 基线并复验
|
2026-09-22 11:36:16 +08:00 |
|
wandering1
|
2cffd1d2cf
|
文档统一:三份链路时延文档合并为链路延迟测试说明,删过程性历史,更新全部交叉引用
|
2026-09-22 06:52:58 +08:00 |
|
wandering1
|
e5733b3454
|
链路时延M1-M3收尾:Phase12-14基线与生产路径Δ实测、D10/E-02/D17修复、D20定位与硬化、文档整理
|
2026-09-22 06:12:40 +08:00 |
|
wandering1
|
ee206ab688
|
GD5F页读回归主线单发令(settle与二次发令移除、3.1V误判更正归一Trap05)、新增Phase11复现用例(16轮零复现)、附台架环境与审计文档
|
2026-09-21 16:55:05 +08:00 |
|
wandering1
|
bbdd059e25
|
修复就绪屏障位被消费致FTP永不监听;新增栈可观测(水位探针+静态调用图报告)并补FTP实测
|
2026-09-21 04:26:52 +08:00 |
|
wandering1
|
b5dd94b834
|
存储套件新增全片擦除维护路径恢复容量,文档订正容量满值与恢复方法
|
2026-09-21 03:32:26 +08:00 |
|
wandering1
|
51c5707f49
|
测试套件增设破坏性用例总开关(默认只读),GD5F/存储/RTC 破坏性用例改为按需开启
|
2026-09-21 03:22:12 +08:00 |
|
wandering1
|
4114416bf4
|
测试闭环补 [ERR] 禁项:DBG_ERROR 前缀为 [ERR] 且不匹配 ERROR 子串,此前错误日志漏检
|
2026-09-21 03:03:37 +08:00 |
|
wandering1
|
5d386cedfb
|
GD5F 补 DMA 守卫负路径用例 TC-704/705,导出阈值宏并对齐测试指南
|
2026-09-21 03:01:49 +08:00 |
|
wandering1
|
a7d4339e6f
|
CCM扩容FreeRTOS堆+DMA阈值1024防栈缓冲进CCM+HardFault现场报告与栈/内存钩子+修defaultTask栈溢出+LVGL绘制缓冲护栏+存储套件05/06与恢复模式
|
2026-09-21 00:47:58 +08:00 |
|
wandering1
|
8ae7a12016
|
test:@test 闭环迁移 PowerShell→Python(run_boot_test/verify_log 纯标准库,文档同步)
|
2026-09-20 03:08:53 +08:00 |
|
wandering1
|
2375569f96
|
test:run_boot_test.ps1 配置文件读取显式 UTF-8(PS5.1 按 GBK 解码致 JSON 解析失败)
|
2026-09-20 02:48:56 +08:00 |
|
wandering1
|
e7348c48ba
|
P1-9修复:NET层测试缓冲声明前移文件首部,消除Phase 6使用先于声明的#20编译断裂;s_rx_buf条件补Phase 9门控,7配置构建复验
|
2026-09-16 12:34:09 +08:00 |
|
wandering1
|
1817fe792f
|
就绪屏障与配置引擎重构,新增串口助手、V0.0网表分析报告及芯片手册,同步更新文档
|
2026-09-15 21:13:20 +08:00 |
|
wandering1
|
4b5ce72e11
|
新增 Python 串口助手 serial_tool(常驻 daemon+全量日志文件即接口)取代 serial-mcp-server:@test 采集链改写 + 全库文档迁移
|
2026-09-15 03:00:41 +08:00 |
|
wandering1
|
52d7dc7d4d
|
更新一下文档
|
2026-09-02 14:22:33 +08:00 |
|
wandering1
|
bb76cfd779
|
修复规范矛盾并定案5项规则,保护宏统一XXX_H
规则定案:常量在右(a>5)、保护宏XXX_H(禁双下划线)、
头文件常量用#define、存储类前缀(g_/s_)优先、允许void返回值
全库32个.h头文件保护宏 __XXX_H → XXX_H 改名(字节级替换)
S1检查规则同步更新(拒绝双下划线),Inc/gpio.h 反向验证被正确拦截
规范示例矛盾修复:K&R括号、标准类型、变量初始化、命名常量、注释字段补全
|
2026-09-01 16:07:00 +08:00 |
|
wandering1
|
2b66f96d01
|
新增代码规范检查钩子(规范V1.0 可机械校验项)并修复存量违规
新增 scripts/check_coding_standard.py + coding-standard 钩子(S1~S9:
头文件保护宏、文件头注释、宏大写、_t 后缀、switch default、
禁 strcpy/sprintf/goto/Tab、函数注释)
修复存量违规:NET_* 字节序宏大写化、net_fd_set 等类型加 _t 后缀、
net_inet_ntoa 的 sprintf 改 snprintf、补 4 处函数注释与 ui_task.c 文件头
docs/代码规范/pre-commit使用说明.md:新增 2.8 节,修正失效文档路径
|
2026-09-01 15:41:25 +08:00 |
|
wandering1
|
ae8b1aead5
|
清理全库行尾空格与文件尾换行(pre-commit 自动修复基线)
|
2026-09-01 10:24:50 +08:00 |
|
wandering1
|
fc57cd831d
|
Remove large unused LVGL files (demos/tests/docs/examples) and build artifacts from tracking
|
2026-08-31 15:29:13 +08:00 |
|
wandering1
|
71c41fabb9
|
开启了192k 所有RAM
|
2026-08-30 15:38:40 +08:00 |
|
wandering1
|
26c9098630
|
启动顺序管理
|
2026-08-29 11:10:08 +08:00 |
|
wandering1
|
7bc616cf9b
|
整理了main 函数
|
2026-08-29 09:45:54 +08:00 |
|
wandering1
|
d68a46b4fd
|
时钟测试完毕
|
2026-08-28 21:59:04 +08:00 |
|
wandering1
|
1781833767
|
时间终于同步,存储成功
|
2026-08-28 21:10:51 +08:00 |
|
wandering1
|
ad154b2f7e
|
时间同步已经完成
|
2026-08-28 16:42:44 +08:00 |
|
wandering1
|
b43dede98d
|
FTP 测试通过
|
2026-08-28 12:22:10 +08:00 |
|
wandering1
|
65f1d72ca3
|
存储测试通过
|
2026-08-27 18:22:44 +08:00 |
|
wandering1
|
db64e6acf4
|
网络主要内容测试完成
|
2026-08-26 13:54:52 +08:00 |
|
wandering1
|
319d00e3e5
|
删除多连接内容,只支持单连接
|
2026-08-25 12:41:33 +08:00 |
|
wandering1
|
d92b086c5b
|
修改一些注释
|
2026-08-25 11:49:31 +08:00 |
|
wandering1
|
572313d430
|
CH395F 硬件测试完毕
|
2026-08-24 16:16:18 +08:00 |
|
wandering1
|
c2fb2d9359
|
构建测试
|
2026-08-22 19:53:24 +08:00 |
|
wandering1
|
b0feaff5ac
|
修改测试
|
2026-07-22 11:14:22 +08:00 |
|
wandering1
|
ccf2dc85b7
|
FTP可以上传文件
|
2026-07-22 01:46:29 +08:00 |
|
wandering1
|
3e87479805
|
测试程序可以使用
|
2026-07-21 23:05:20 +08:00 |
|
wandering1
|
b565702c46
|
FTP可以连接成功
|
2026-07-21 22:42:39 +08:00 |
|
wandering1
|
e862009bcd
|
修复多连接的问题
|
2026-07-19 15:27:49 +08:00 |
|
wandering1
|
a08d26bcb0
|
freeRTOS支持
|
2026-07-19 13:09:06 +08:00 |
|