Conformance 快速开始
本页给出公共 conformance baseline 的最短接入路径。
目标
最小接入应回答三个问题:
- 当前仓库要对齐哪个协议版本线。
- 当前仓库已经声明支持哪些能力。
- 当前本地或 CI 到底跑了哪些 case,而不是模糊地“跑了一套测试”。
基本组成
当前公共 baseline 由以下部分组成:
- 版本化 protocol manifest,例如
protocol/nnrp-1-preview3/manifest.json。 - case manifest,例如
cases/mandatory-core.json。 - capability manifest,用来声明实现当前已完成并对外声称支持的能力。
- 机器可读 report,用来描述本次执行到底选中了哪些 case。
最短使用路径
- 在实现仓库中明确当前目标协议版本,例如
nnrp-1-preview3。 - 准备一份 capability manifest,声明当前实现已经完成的能力。
- 用公共 runner 加载对应协议版本的 protocol manifest、case manifest 和 capability manifest。
- 输出一份机器可读 report,并让 CI 基于这份 report 判断通过/失败。
当前开发期的硬规则
- 不允许让 CI 靠分支名、默认分支状态或“当前最新版本”猜测目标协议版本。
- 不允许把尚未声明支持的能力伪装成“测试通过”。
- 不允许在实现仓库里手写一套和公共 baseline 语义不一致的私有 conformance 替代物。
与本地回归测试的关系
conformance 不是为了替代实现仓库自己的单元测试。
更准确地说:
- 本地单测负责验证本仓库内部实现细节和回归。
- 公共 conformance 负责验证当前实现是否真的符合某个公开协议版本口径。
- 这两层都需要存在,但不能互相冒充。