docs(收口): 批 1 台架记录与门禁/产物分家口径落档(道C 文案兑现)

- test/board/ch395f_test.h:f3 轮台架记录追加——VERDICT PASS,
  task stall 468→14(net 类 431→0,掩码复活实锤),余 13 条为
  netTask 自挂起前喂一次 vs 精确匹配判据的语义打架 + 1 条 uiTask
  瞬态 + 1 条设计内 P2 留痕;lead 裁决不放宽超集判定
- 主机单测覆盖率口径.md:中间产物路径 L80 与坑 12 重写为
  %TEMP%/dtu_host/<工作树哈希>/ 分家 + runs 独占(adabb6a 落地,
  旧固定共享名作废;判据正文指向 harness 顶部)
- 并行任务工作树方案.md §5 表:单测产物一行——不需要锁但必须
  按树分家(对照 build/bench 真独占)
- 门禁说明/cubemx-survival.md §6:新增第 7 条「基线漏项=静默不检」
  (net-msgq-adopt 实证,--write 后抽查新增条目)
- 门禁说明/id-check.md §5:拦下过真事追加——P1-10 注释裸编号被
  校验 6 拦(紧邻写法在 C 注释同样生效)
This commit is contained in:
2026-10-25 06:12:02 +08:00
parent bd7f15fc3e
commit db9f256fd0
5 changed files with 26 additions and 6 deletions
@@ -77,7 +77,8 @@
编译失败、XML 缺失)/ `3` 用法错误。全量实测约 **67 s**(33 套 × 编译 + 插桩运行;
2026-10-25 实测;16 套时约 25 s、28 套时约 45 s,套件数涨了耗时就涨,别拿旧数当预算)。
中间产物(exe / PDB / Cobertura XML)一律落 `%TEMP%\dtu_test_cov\<模块>`,**不进仓库**,
中间产物(exe / PDB / Cobertura XML)一律落 `%TEMP%\dtu_host\<工作树哈希>\coverage\<模块>`
(与主机单测同根、按树分家,2026-10-25 起;改根用 `--work-dir` 或 `DTU_HOST_BUILD`),**不进仓库**,
所以本脚本不需要新增任何 `.gitignore` 规则。
## 4. 统计面:进什么、不进什么
@@ -673,11 +674,13 @@ uint16_t ch395f_link_change_count(void);
既有三套的复位面与断言面一字不动、新状态也不会场景间残留。改完必跑存量回归(本批 net_listener 34/34、
net_events 34/34、net_pending 43/43、net_select 22/22;nand_port 149/149、lftpd_io 33/33、vol_lock 33/33、
soe 32/32、cfg_file 151/151)。
12. **覆盖率中间产物根目录是固定共享的** `%TEMP%/dtu_test_cov/<模块名>`:并行期每人只跑 `--module <自己模块>`
(子目录互不冲突);**绝不加 `--clean`**(它 `rmtree` 整棵共享根,会把队友正在编译的目录连根删掉,
表现为"莫名其妙的编译失败、重跑就好");**不带 `--module` 的全量闸只在收口时由 Lead 单跑**。
另注:逐套 `run_unit_test.py` 写的是固定 `tempfile/<suite>_obj` 与 `<suite>.exe`,所以**同一套件同一时刻
只能一人跑**(不同套件互不干扰)。
12. **产物目录已按工作树分家(2026-10-25,adabb6a)**:主机单测与覆盖率的中间产物统一落
`%TEMP%/dtu_host/<仓库根 sha1 前 10 位>/`,且**每次运行独占 `runs/<pid>-<纳秒>/` 子目录**
(obj+exe 在内,finally 删除;`DTU_HOST_BUILD` 改根、`DTU_HOST_BUILD_KEEP=1` 保留现场)。
并行期**不再需要**"每人只跑 `--module` 自己模块",同树并发跑同名套件也不再撞 obj/exe;
旧固定共享名 `%TEMP%/dtu_test_cov/` 与固定 `<suite>_obj`/`<suite>.exe` 一并作废,`--clean`
改为只清本工作树根。**判据正文** = `test/host/common/unit_test_harness.py` 顶部「产物目录归属」。
⚠ 加锁**不是**解法:这里没有真独占资源,只是名字撞——加锁等于把 L0.5 全局串行化。
**两处口径问答(免得下次重新推导)**:① 子集数不能和并集基线直接比 —— `soe_store` 单套对
`App/log/soe_rec.c` 只到 78/87(89.7%),而台账是全部 33 套的**并集** 81/87(93.1%);本批