测试层合并批(用户裁 2026-11-07): 「集成测试」层级退役归并单元层——tests/integration/ 三套件(存档⇄RNG 往返/节点图确定性/跨系统流×落盘)实体迁移 tests/unit/ 同闸同协议, run_all manifest 65 套全量单元; 闸名「单元与集成测试」→「单元测试」(run_all_gates/基线键/coverage_receipts 同步); 选闸词 integration 族→save_rng/cross_system/node_map 文件名词; 测试层识别换三元组(职责×触发时间点×覆盖面积, 权威表=test-conventions §1.1 测试层三元组), 层级名降为代称; 术语表退役词对照+doc_term 收「集成测试/用例/层/侧/宿主/族」, 全仓旧字样清零(gdd/规约/README/套件头注/断言标签), 跨系统面性质归属由各套件头注承载; extract_checks 缺省遍历面收 unit/**; test-conventions §8.2 验收四层「集成」改「跨宿主」; architecture 测试层级表三级换代+65 实数; domain_route/AGENTS 字样同步。凭据: 三套件单跑 exit=0; --code 域闸验收通过(冒烟/单元全量/系统/场景探针/渲染闸/静态扫描/熵增闸全绿); --docs 域闸验收通过(文档域七闸零新增红)
This commit is contained in:
1 parent
40a3ac1281
commit
9f80609518
28 files changed
+139
-127
No files matched your search
@@ -13,14 +13,14 @@ r"""extract_checks.py — 断言静态提取器(验证集清单生成与出口
|
||||
python tools/extract_checks.py --list-funcs [--src <源文件>...]
|
||||
只打印函数清单与各函数条数(编账本辅助,不写文件)
|
||||
|
||||
断言源(--src 可多个;缺省=三宿主遍历):
|
||||
game/tests/unit/**/*.gd + game/tests/integration/**/*.gd + game/tests/system_test.gd
|
||||
断言源(--src 可多个;缺省=单元层遍历):
|
||||
game/tests/unit/**/*.gd + game/tests/system_test.gd
|
||||
批 B 出口对账用显式模式(--src 列全本批宿主文件)——缺省遍历含既有套件的 Kit.check
|
||||
断言,对账时以「新增」出现(非迁移面),出口判定以显式模式为准。
|
||||
|
||||
提取口径:
|
||||
- 静态断言调用点,三通道都认:smoke/系统宿主的 check(cond, label)(cond 在前)、
|
||||
单元/集成宿主的 Kit.check("label", cond)(点前缀=标签在前)、静默收集通道
|
||||
单元宿主的 Kit.check("label", cond)(点前缀=标签在前)、静默收集通道
|
||||
Kit.check_quiet(cond, label)(cond 在前,条目 quiet 列记 channel:check_quiet);
|
||||
`_check(` 等同名前缀调用非标准通道,不取。
|
||||
- 调用点可跨行:从调用名起括号配平归集完整实参文本(() [] {} 三种括号都计深度);
|
||||
@@ -45,18 +45,17 @@ from datetime import date
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parent.parent
|
||||
# 断言源缺省=三宿主遍历:unit/**+integration/** 两目录递归 + 系统宿主单文件。
|
||||
# 断言源缺省=单元层目录递归 + 系统宿主单文件(跨系统闭环套件同住 unit/,随目录递归收进来)。
|
||||
# 遍历面含既有套件的 Kit.check 断言(非本批迁移面,对账呈「新增」)——出口对账用 --src 显式列宿主。
|
||||
DEFAULT_TREES = (
|
||||
ROOT / "game" / "tests" / "unit",
|
||||
ROOT / "game" / "tests" / "integration",
|
||||
ROOT / "game" / "tests" / "system_test.gd",
|
||||
)
|
||||
DEFAULT_OUT = ROOT / "game" / "tests" / "验证集清单.md"
|
||||
|
||||
|
||||
def default_sources():
|
||||
"""三宿主遍历:两目录递归 *.gd + 系统宿主单文件,路径排序定序。"""
|
||||
"""单元层遍历:unit 目录递归 *.gd + 系统宿主单文件,路径排序定序。"""
|
||||
files = []
|
||||
for p in DEFAULT_TREES:
|
||||
if p.is_file():
|
||||
@@ -342,7 +341,7 @@ def render_list(entries, funcs_by_src, src_names, carry=None) -> str:
|
||||
out.append("")
|
||||
out.append("> 生成日期:%s · 基点 commit:`%s` · 源:%s" % (date.today().isoformat(), base_commit(), "、".join(src_names)))
|
||||
out.append("> 提取口径:静态 `check(`/`check_quiet(` 调用点,括号配平归集(可跨行);缺省源=三宿主遍历")
|
||||
out.append("> (unit/**+integration/**+system_test.gd)。本基点实测 %d 个静态调用点;行级" % len(entries))
|
||||
out.append("> (unit/**+system_test.gd)。本基点实测 %d 个静态调用点;行级" % len(entries))
|
||||
out.append("> `grep -c \"check(\"` 是另一口径(含 `func check(` 定义行与注释行),两口径各自浮动,")
|
||||
out.append("> 禁互相换算(tests/README「断言计数双口径」)。运行时计数大于静态计数=循环展开条目。")
|
||||
out.append("> 生成命令:`python tools/extract_checks.py --extract`(可复现;重新生成须 --force;")
|
||||
@@ -558,7 +557,7 @@ def main() -> int:
|
||||
ap.add_argument("--diff", metavar="清单文件", help="与清单逐条对账(批 B 出口机检)")
|
||||
ap.add_argument("--list-funcs", action="store_true", help="打印函数清单与条数(编账本辅助)")
|
||||
ap.add_argument("--src", nargs="+", default=None,
|
||||
help="断言源文件(可多个;缺省=三宿主遍历 unit/**+integration/**+system_test.gd)")
|
||||
help="断言源文件(可多个;缺省=单元层遍历 unit/**+system_test.gd)")
|
||||
ap.add_argument("--out", default=str(DEFAULT_OUT), help="--extract 输出路径")
|
||||
ap.add_argument("--force", action="store_true", help="输出文件已存在时允许覆盖")
|
||||
ap.add_argument("--carry-from", default=None, metavar="旧清单",
|
||||
|
||||
Reference in new issue
Block a user