Files
STM32F4-Base/simulator/tests
wandering1 b24b2b5f31
CI / L0 静态门禁 (pre-commit) (push) Failing after 49s
CI / L0.5 主机侧单测 (MSVC) (push) Failing after 45s
docs(计数): 内容页黄金参考 27 → 40 全仓同源改写,含钩子显示名这最后一处不同码
UI 三页落地后机器真值变了,文档却还写着 27 页——这不是笔误,是会骗人的现在时。
作者(batch-auditor)先自己从机器面取数再动笔:git ls-files 里 ref/*.bin = 40、
PAGES 40 项、TEXTS 37 页 310 条、ABSENT 16 页 29 条、池 5448 B 与常驻堆 5368 B 未变、
字库 183 字未扩。**它还纠了我一个数**:我报 ABSENT +19,实测 11 → 29 = +18;作者按
实测写文档,并且不在文档里写 ABSENT 总数,免得把我这个差 1 的数固化成第二真源。

改写面(现在时陈述,共 12 + 3 处):AGENTS.md 的 ui-golden 半句、门禁说明 ui-golden.md
(标题与「拦不住什么」段)与索引行、simulator/tests/README.md、simulator/README.md 两处、
UI_自动化测试流程.md(310 条 / 40 页 / PASS 文案 / 覆盖面)、内容页架构.md、页面补齐规划.md、
主机单测覆盖率口径.md、自动化测试流程.md、测试开发标准流程.md,外加
.pre-commit-config.yaml 里 ui-golden 的显示名——那是「声明 / 文档 / 实跑」三数同源的最后
一处不同码:AGENTS 与门禁说明都已 40,配置里还写着 27。

两条纪律作者都自证了,不是口头:
· **历史数字一律保留**:8 处变更记录行里的 27 / 242 / 24 / 11 原样未改;两处带日期的
  验证记录只加限定语(「该下限此后已扩至 40 页,双次逐字节一致需按同口径重跑回填」),
  没有把 27 改成 40 去造连续性。
· **同名不同义的数字不许全局替换**:页面补齐规划.md:12 与 :157、页面扩充详细方案.md:649
  里的「27」是**空叶子口径**,与黄金参考数无关——三处故意没动。这条比改对更值钱。
· 余量自证(回退名下 12 文件复跑同一扫描器):refs +0 / dec +0 / und +0 / 比值 +0.00pp /
  错误 +0,本笔零消耗,也未新增任何编号引用;simulator/tests/ref/ 下 40 个 .bin 零改动。

闸线现状照实挂着:id-check 不可判定 1,162 / 上限 1,166,**余量只剩 4**(吃进者是今天
UI 那笔的注释引用,账在 Lead)。清账之前任何人新增编号都可能直接撞闸。
2026-10-27 00:16:07 +08:00
..

simulator/tests/ — UI 模拟器无头回归测试

PC 端无头(headless)UI 像素回归测试:在模拟器中渲染各页面,与黄金参考图比对, 检测 UI 改动是否引入像素级回归。属于 ui-verify skill 五步门禁的一部分。

文件一览

文件 作用
check_menu_rows.py 菜单像素回归:渲染菜单行 → 与黄金参考比对
check_content_pages.py 内容页回归:各内容页渲染比对
check_remo_sink.py 推流(RemoDispBus)回归:接收端渲染比对
regen_ref_png.py 由 ref/*.bin 批量出目检 PNG(不产生基准;基准由 check_content_pages.py --update 刷)
ref/*.bin 像素黄金参考(入库):40 页 × 3200 B,160×160 单色打包

使用方式

# 跑回归(按 ui-verify skill 流程)
& '.venv\Scripts\python.exe' simulator/tests/check_menu_rows.py
& '.venv\Scripts\python.exe' simulator/tests/check_content_pages.py

# UI 有意变更、确认无误后重建基准
& '.venv\Scripts\python.exe' simulator/tests/regen_ref_png.py

⚠️ 注意

  • 重建黄金参考前必须确认变更是有意的——否则会把 bug 固化成"基准"
  • ref/*.bin 已入库:刷参考 = 改基准,git diff 里会显形,提交正文必须写明为什么变
  • ref/*.png 只是给人看的派生物(已忽略),刷完 .bin 要重跑 regen_ref_png.py 才对得上
  • UI 改动一律走 ui-verify skill 五步门禁(regression 是其中一步)
  • 依赖模拟器已构建(simulator/build_sim.bat)

相关文档

  • docs/UI设计/UI_自动化测试流程.md — ui-verify 五步门禁
  • docs/UI设计/LVGL模拟器部署与使用说明.md