执行摘要
本PR将推理相关的多个测试文件整合到test/registered/reasoning/目录,通过创建混合类和删除冗余文件,减少两次CI服务器启动,提升测试效率。变更主要影响测试结构,无直接用户影响,但需关注测试覆盖和解析逻辑的风险点。
功能与动机
动机源自减少CI开销,PR body明确指出目标为'2 fewer server launches',通过整合enable_thinking、separate_reasoning和reasoning_tokens测试,消除重复服务器启动。
实现拆解
- 测试工具层:
reasoning_tokens_kit.py重命名为reasoning_kit.py,添加SeparateReasoningMixin混合类,整合separate_reasoning测试方法。
- 主测试文件:
test_enable_thinking.py移至test/registered/reasoning/test_reasoning.py,继承混合类以测试多个功能。
- 冗余清理:删除
test_reasoning_content.py文件,移除原有GPU集成测试。
- 单元测试新增:添加
test_reasoning_content_without_parser.py,模拟无解析器时的行为,但review指出其可能缺乏实际代码执行。
- 导入更新:修改
test_qwen35_models.py以引用新kit。
评论区精华
review中,gemini-code-assist[bot]提出关键讨论:
CPU单元测试'实际上未执行仓库代码',可能误导测试覆盖。
JSON解析逻辑应验证数据非空,以避免JSONDecodeError。
这些讨论凸显了测试设计的不足,但未在PR中解决。
风险与影响
- 测试覆盖风险:新CPU单元测试可能未有效验证逻辑,导致回归未被捕获。
- 解析错误风险:
reasoning_kit.py中未处理空数据行,可能引发异常。
- 影响范围:对用户无影响,对团队提升CI效率,对系统增强测试结构一致性。
关联脉络
与历史PR如#15562(添加推理令牌使用)和#22102(迁移推理令牌测试)相关,共同形成推理测试模块的持续优化,反映仓库对CI效率和测试架构的重视。
参与讨论