docs(测试): 更正覆盖率口径 §8 的接线理由——现在缺口换了方向
P1 合入后本仓主机单测从 16 套涨到 28 套,而 pre-commit 只挂 16 个 -unit-test 钩子。§8 理由 1 写的是"再加一份全量插桩等于同一件事做两遍"——这句话在只有 16 套时成立,现在**反了**:P1 新增的 12 套(net_cfg / ftp_cfg / prot_set_store / task_prof / lftpd_io / net_select / net_listener / net_pending / net_events / lftpd_inet / lftpd / iec104_serv)目前只被 ci_local 的 L0.5(自动发现)与 check_test_coverage.py 跑到,**不在提交钩子里**。 仍然不擅自接线,理由只剩 §8 第 2 条那一个,而且它是要用户裁定的:挂之前必须 先定"缺 VS 可选组件(mscoverage)时 skip 还是 FAIL"——选 skip 就是造一根会 静默失效的门禁(与 AGENTS 里"pre-commit 4.x 移除了 always: true、必须靠 files: 覆盖"是同一类坑);选 FAIL 则任何没装该组件的机器都提交不了。与其悄悄挂一根 可能假绿的钩子,不如把缺口写在文档里。 同时更新 §8 下一步第 1 条的过期数字:P1 已吃完(files_tested 19 → 32), 下一步是 P2 的 5 个文件 / 2,226 行;"把已有 19 个文件从 88% 推到 95%"改成按 当前实测口径表述。核对:该文档 U+FFFD=0、无 CRLF,doc-links 钩子 Passed。
This commit is contained in:
+15
-4
@@ -163,8 +163,17 @@
|
||||
|
||||
**未挂 pre-commit**,三条理由(不是忘了):
|
||||
|
||||
1. 39 个钩子里已有 16 个主机单测钩子(每套各编译各跑),再加一份"全量插桩"是**同一件事做两遍**,
|
||||
还要多约 25 s;
|
||||
1. 39 个钩子里已有 16 个主机单测钩子(每套各编译各跑),再加一份"全量插桩"在**当时**确实是同一
|
||||
件事做两遍,还要多约 25 s;
|
||||
|
||||
⚠ **这条理由的事实基础已变(2026-10-24,P1 落地后)**:本仓现有
|
||||
`test/host/**/run_unit_test.py` **28 套**,而钩子只挂 **16 套**——另外 12 套(P1 新增的
|
||||
全部模块)目前只被 `ci_local.py`(L0.5 自动发现)与 `check_test_coverage.py` 跑到,
|
||||
**不在提交钩子里**。所以现状不是"重复两遍",而是**有一遍没做**。
|
||||
|
||||
仍未挂,只剩第 2 条那一个原因:必须先定"缺 VS 组件时 skip 还是 FAIL"——那是留给用户裁定的事
|
||||
(选 skip 等于造一根会静默失效的门禁,与 `always: true 已失效` 那条同类坑)。与其悄悄挂一根
|
||||
可能假绿的钩子,不如把缺口写在这里。
|
||||
2. 它依赖 VS 可选组件(§7 第 8 条)。挂之前必须先定"缺组件时 skip 还是 FAIL"——
|
||||
选 skip 就是一个会静默失效的门禁(与 `AGENTS.md` 里那条 `always: true 已失效、必须靠 files: 覆盖`
|
||||
是同一类坑);
|
||||
@@ -189,8 +198,10 @@
|
||||
|
||||
**下一步(按性价比排序)**:
|
||||
|
||||
1. **扩大覆盖面**:按 **§9 的建桩优先级清单**吃(P1 13 个 .c / 2,617 行 → P2 5 个 / 2,226 行;
|
||||
P3 的 29 个 / 4,814 行**刻意不做**并已写明理由)。比把已有 19 个文件从 88% 推到 95% 值钱得多。
|
||||
1. **扩大覆盖面**:按 **§9 的建桩优先级清单**吃。**P1 已吃完**(2026-10-24 合入主干,13 个 .c 全部
|
||||
进分母,`files_tested` 19 → 32);下一步是 **P2 的 5 个 / 2,226 行**(`net_socket.c` 1,251 行需分片、
|
||||
`sys_log_mcu`+`cfg_file_store_mcu`+`soe_store` 共用一套假 FatFs、`console_log`)。P3 的 29 个 /
|
||||
4,814 行**刻意不做**并已写明理由。比把已覆盖文件从 85% 推到 95% 值钱得多。
|
||||
2. **不做**:第二条覆盖率通道(gcc/WSL、`dotnet-coverage`、OpenCppCoverage 三条路都不走,用户裁定
|
||||
2026-10-23)。要重开这个裁定,前提是能同时给出"两份分母怎么对齐"的答案,否则只是多一本对不上的账。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user