regressionGates.md 1.5 KB

回归门禁与验收模板

范围

  • 本页只定义门禁标准与阻塞条件。
  • 任务结论写法见 optimizationTemplate.md
  • 执行入口与脚本参数基线见 ../../shared/ryanJsonCommon.md

门禁级别

  • Gate-0:改动模块相关单测全部通过。
  • Gate-1:全量 unity 通过且无内存泄漏。
  • Gate-2:fuzzer 冒烟通过(含历史 crash 样本)。
  • Gate-3:关键覆盖分支双向触达。

执行入口约定

  • 本地常规门禁:优先 run_local_*
  • 特殊门禁场景(覆盖率、矩阵细调、并发细调)再直调 scripts/ci/*

必验项清单

  • Parse:非法输入返回 NULL,无崩溃。
  • Item:Add/Insert/Replace/Detach/Delete 所有权一致。
  • Print:动态与预分配模式行为一致。
  • Compare:有序/乱序路径符合预期。
  • 宏开关:严格/非严格语义与文档一致。

结果记录模板

  • 改动范围:
  • 通过的门禁:
  • 失败的门禁:
  • 是否阻塞合入:
  • 临时豁免原因:
  • 后续修复计划:

回滚触发条件

  • 出现 P0 崩溃或内存破坏。
  • 语义回归影响现有 API 合同。
  • 无法在限制周期内补齐测试证据。

依据(仓库内)

  • test/unityTest/runner/main.ctest/unityTest/common/testCommon.c:unity 入口与泄漏检测门禁
  • test/fuzzer/entry.c:fuzzer 冒烟与回归链路
  • ../../shared/ryanJsonCommon.md:统一执行入口与覆盖口径
  • test/unityTest/cases/core/testCreate.ctest/unityTest/cases/core/testReplace.c:Item 所有权回归基础用例