> 来源:2026-11-11 全矩阵深度代码审查(6 路并行扫描约 24 万行 Go)。判定已复核;行号基于 2026-11-11 的 main,动手前请核对现场。 > 归档索引:oekit/pkg#372(本仓重构 backlog) ## 位置 pkg/singleflighttest/contract.go(全仓唯一零测试子包) ## 证据 pkg 下 32 个子包仅 singleflighttest 无任何 *_test.go。该包不是纯声明:runForgetRace(:271-339)构造「旧 call 收尾不得删新 call」的精细时序、waitFor(:437-446)实现有界等待、runPanic/waiter 路径大量 channel 编排(:152-215)——这些编排逻辑一旦写错(如 runForgetRace 的 200ms 负向断言窗口过窄),受害的是两个消费它的 singleflight 实现,表现为「契约通过但语义漂移」(正是 #147 要防的形态)且无人怀疑测试套件本身。 ## 建议 至少补两类元测试:① 用一个**故意有缺陷的 Flight 实现**(收尾无条件 Delete)跑 Run,断言 runForgetRace 能把它抓出来(负对照,套件分辨力自证);② waitFor 超时路径的快速失败行为。其余 run* 的编排可借 -race 下的双实现正对照覆盖。
Activity
Merge pull request #423 from oekit/sweep/20261112-l1-b2
zy84338719 commentedon Nov 12, 2026
已合入修复 ✅(无 SemVer 发布:本次改动不发版本)
变更内容
singleflighttest 补元测试三件套——正对照(真实实现)/ 负对照(缺陷实现必被抓)/ waitFor 超时路径
合入:PR #423(https://github.com/oekit/pkg/pull/423),merge commit
53135ccf,2026-11-12T17:13:18ZCI:
link✅ /Lint & Test / Test✅ /Lint & Test / Lint✅ /Zero Third-Party Deps✅