Skip to content

[refactor][P3] singleflighttest 全包零 _test.go——契约套件自身的编排逻辑无任何直接测试 #394

Closed

Description

@zy84338719

来源:2026-11-11 全矩阵深度代码审查(6 路并行扫描约 24 万行 Go)。判定已复核;行号基于 2026-11-11 的 main,动手前请核对现场。
归档索引:#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

  1. moved this from Todo to In Progress in oekit Issue 大盘on Nov 12, 2026
  2. added a commit that references this issue on Nov 12, 2026
  3. moved this from In Progress to Done in oekit Issue 大盘on Nov 12, 2026
  4. zy84338719 commented on Nov 12, 2026

    @zy84338719
    ContributorAuthor

    已合入修复 ✅(无 SemVer 发布:本次改动不发版本)

    变更内容

    singleflighttest 补元测试三件套——正对照(真实实现)/ 负对照(缺陷实现必被抓)/ waitFor 超时路径

    合入:PR #423(https://github.com/oekit/pkg/pull/423),merge commit 53135ccf,2026-11-12T17:13:18Z

    CI:link ✅ / Lint & Test / Test ✅ / Lint & Test / Lint ✅ / Zero Third-Party Deps ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    refactor重构机会(代码审查产出)

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions