mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-14 16:36:18 -08:00
test(refactor): [ENG-COVERAGE-01] index public contracts and exact candidate evidence
This commit is contained in:
1 parent
6abac891ce
commit
f35fb87615
22 files changed
+11007
-7
No files matched your search
@@ -0,0 +1,73 @@
|
||||
# 契约、版本与测试证据维护
|
||||
|
||||
ENG-COVERAGE-01建立可校验的归属和证据索引,不把索引建成当作全项目兼容通过。
|
||||
[生成的索引](contract-index.md)覆盖compatibility.md的12类契约及实际22包,共264行。
|
||||
每行有责任任务;未整理的测试、精确支持范围、设备和发布包验证保持缺口。站点契约
|
||||
适用性由SITE审查,不给文档站编造播放器构造器。逐成员复盘仍属各包契约及REVIEW-02;
|
||||
宽泛API编号不是每个方法、参数、事件都已测过的证明。
|
||||
|
||||
## 数据与版本
|
||||
|
||||
`contract-policy.json`维护逐包逐类责任、版本依据及稳定测试ID。版本用JSON pointer
|
||||
指向冻结清单,核对包名、版本和发布archive integrity;工作区单独标识。当前22个
|
||||
工作区、7个发布对照点,不由单个版本推断连续支持区间。
|
||||
|
||||
`contract-runs.json`引用归档报告及LF规范化SHA-256。报告保存当时定义、实际事件、
|
||||
输入指纹、命令、HEAD和Node/OS。其他tasks.json历史JSON证据列为recorded-not-normalized,
|
||||
保留原文及任务,不能按通过总数猜具体断言已执行。
|
||||
|
||||
本批逐条核对10个已有断言,涉及核心配置、注册、事件、存储及chapter归一化。五个
|
||||
文件执行44项,仅精确匹配的10项作索引观察,其余34项不自动分配契约。255行尚未
|
||||
录入测试ID,表示索引缺口,不表示这些功能都没有测试;历史事实仍查包记录及changes。
|
||||
|
||||
## 命令与CI
|
||||
|
||||
```sh
|
||||
yarn test:contracts
|
||||
yarn check:contracts --write
|
||||
yarn check:contracts --report
|
||||
```
|
||||
|
||||
执行器使用独立Node进程,固定文件列表且不接受过滤器;清除ARTPLAYER产物覆盖及
|
||||
NODE_OPTIONS,避免把临时指定产物误记为当前源码。执行前后核对包源码/声明/manifest、
|
||||
测试/脚本/夹具、工具锁及版本依据;输入变化拒绝结果。指纹是实际字节快照,换行或
|
||||
相关脚本变化也会保守判旧。
|
||||
|
||||
Reporter记录Node实际pass/fail/summary的文件、名称、skip/todo及整体结果,不按数量
|
||||
猜通过。接口依据[Node24官方文档](https://nodejs.org/docs/latest-v24.x/api/test.html#custom-reporters)。
|
||||
测试ID须唯一对应源码中的Node test字面量调用;参数化、浏览器和类型报告仍保留
|
||||
历史原始记录,后续增加各自解析器及反例,不能用当前适配器假装已经覆盖。
|
||||
|
||||
CI先执行观察,再检查索引。`refactor/.cache/ci/contracts-run.json`保存本轮结果,
|
||||
`contracts.json`保存动态索引,随已有checks artifact收集。原始事件和stderr另存
|
||||
`refactor/.cache/contracts/run-*/`。原有测试不减少;44项重复执行是链路验证,不算
|
||||
新增44种功能覆盖。
|
||||
|
||||
## 状态
|
||||
|
||||
| 状态 | 含义 |
|
||||
| --- | --- |
|
||||
| tests-not-indexed | 尚无精确映射,仍有责任任务 |
|
||||
| planned-not-observed | 映射存在,没有结构化执行报告 |
|
||||
| partial-observations | 有具体结果,不代表整个契约类或包通过 |
|
||||
| current-inputs | 定义及输入指纹与当前一致 |
|
||||
| historical-inputs | 定义一致,源码/测试/工具等输入已变化 |
|
||||
| historical-definition | 定义已变化,保留旧定义实际范围 |
|
||||
| skipped / failed | 原始结果原样保留,不折算成通过 |
|
||||
|
||||
无效路径、重复ID、错误任务、错包/版本/integrity、无实际测试、报告被修改或结果
|
||||
矛盾会失败。旧输入、未索引或缺环境明确列为缺口,不阻止无关迁移;对应发布由REL/
|
||||
REVIEW把关。哈希和结构只能证明对应关系,不能证明断言充分,也不是证据数字签名。
|
||||
|
||||
## 后续AI维护
|
||||
|
||||
1. 修改前检查包的12行及历史报告,定位具体公开成员/参数/事件并核对适用性。
|
||||
2. 登记稳定ID、精确文件/标题、命令、版本依据、断言范围和限制。ID不能改归其他包;
|
||||
旧报告保留旧定义,不能重写历史消除差异。
|
||||
3. 修改后执行test:contracts。归档时复制实际report.json到baselines/contract-observations,
|
||||
将LF哈希加入runs;核对输入、skip/todo、整体失败及语义,不手写passed。
|
||||
4. --write更新静态表,--report检查动态结果,再跑ci:check。done及独立commit遵循
|
||||
commit-audit;不能拿旧CI总数批准新实现。
|
||||
|
||||
支持窗口仍需包契约、旧核心组合和环境证明。VAST的VPN例外不改变类型、生命周期或
|
||||
其他包结论;当前没有据此新增skip。
|
||||
Reference in new issue
Block a user