Prhub

#25450 Fix invalid suite name in test_multi_detokenizer

原始 PR 作者 fzyzcjy 合并时间 2026-05-16 09:42 文件变更 1 提交数 2 评论 2 代码增减 +1 / -1

执行摘要

修复测试集名称未同步导致 CI 崩溃

自 PR #25420 合并后,所有 cherry-pick 到 main 的 PR 在 stage-a 阶段都因 ValueError: Tests registered to invalid suites 失败,validate_all_suites 拒绝该测试注册,导致 base-a CPU / 1-gpu-small 等任务在测试开始前就退出。根本原因是 #24944 引入的 test_multi_detokenizer.py 使用了旧的 stage-b-test-1-gpu-large 名称,而 #25420 的重命名未覆盖该文件。

PR 内容简单,变更明确,可以直接合并。建议团队关注跨 PR 的命名同步问题,尤其在密集合并窗口期间,考虑引入自动化检查来校验测试集名称一致性。

讨论亮点

PR 没有 review 评论,但 PR body 详细分析了问题的引入过程:

  • 24944 在 2026-05-15 17:26 添加了 test_multi_detokenizer.py(stage-* 名称)

  • 25420 在一小时后(18:26)重命名了所有 CUDA 测试集为 base-*,但 diff 未包含 #24944 的新文件

  • 两者合并后,该文件成为唯一残留的 stage-* CUDA 注册,导致 CI 全局失败。

实现拆解

  1. 修改 test/registered/tokenizer/test_multi_detokenizer.py 第 20 行
    - 将 register_cuda_ci 的 suite 参数从 "stage-b-test-1-gpu-large" 改为 "base-b-test-1-gpu-large"
    - 与 #25420 中其他 CUDA 测试集的命名保持一致
  2. 注意 AMD 测试集的 suite 名 "stage-b-test-1-gpu-small-amd" 保持不变,因为 #25420 仅重命名了 CUDA 测试集,AMD 测试集仍沿用 stage-* 前缀(符合 test/run_suite.py 中的规则)
文件 模块 状态 重要度
test/registered/tokenizer/test_multi_detokenizer.py 测试注册 modified 3.42

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低。仅修改一行测试注册的字符串参数,不影响业务逻辑或测试行为。但需注意:

  • 如果未来再次发生类似竞态条件(PR 合并时间差),可能再次遗漏同步。
  • AMD 测试集名称仍为 stage-*,如果后续重命名 AMD 测试集,需确保覆盖所有文件。

影响范围:仅影响 CI 流程。修复后所有包含此文件的 PR 将能正常通过测试任务,不再因 suite 名称无效而提前退出。用户无感知,系统运行不受影响。

无风险

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论