Prhub

#47018 [mypy] Enable mypy for tests directory

原始 PR 作者 hickeyma 合并时间 2026-06-29 17:29 文件变更 1 提交数 1 评论 0 代码增减 +76 / -1

执行摘要

为 tests 目录启用 mypy 检查

Mypy 最初只检查 vllm/ 目录,导致 tests/ 目录未被覆盖。此 PR 启用 mypy 对 tests/ 目录的检查,是迈向项目全面 mypy 检查的下一步。

此 PR 是工具链改进,值得快速合并。关注后续逐步修复 mypy 错误的 PR,确保类型检查持续生效。

讨论亮点

讨论不多,主要来自审核者 hmellor 的批准意见:建议保留 "tests" 组直到最后,确保所有子目录一致,待所有子目录移除后可删除 "tests" 组。

实现拆解

  1. 在 mypy.py 中扩展 SEPARATE_GROUPS:将原来仅包含 "tests" 的列表扩展为 tests/ 下所有子目录的完整列表(约 50 余项),确保每个子目录独立进行 mypy 检查,避免 import 跟踪问题。
  2. 调整 group_files 中的文件分组逻辑:将条件 changed_file.startswith("vllm/") 改为 changed_file.startswith(("vllm/", "tests/")),使 tests/ 根目录下的文件归入默认组,保持覆盖。
  3. 保持 "tests" 组作为兜底:保留原始的 "tests" 组,直到所有子目录被清理完毕,确保不会丢失覆盖。
文件 模块 状态 重要度
tools/pre_commit/mypy.py 预提交工具 modified 6.43

关键符号

group_files

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

评论区精华

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

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

风险与影响

本 PR 只涉及预提交工具的配置变更,不会影响运行时行为。风险极低,但需要后续 PR 修复 tests/ 下的 mypy 错误,否则 CI 可能因新启用的检查而失败。

对用户无影响。对开发者而言,后续提交涉及 tests/ 目录时将触发 mypy 检查,需要逐步修复现有类型错误。对团队而言,这是提升代码质量和类型安全性的基础设施改进。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论