执行摘要
引入 stage-a 检测套件并重组测试目录
替换 test_srt_backend.py 为阶段 A 门禁测试,精简 dsv4 e2e 测试减少重复代码,重新组织 test/registered/core/ 使其只保留框架级测试,并将模型族 e2e 测试合并到 models_e2e/,以降低 CI 维护成本并提升测试覆盖的清晰度。
推荐测试基础设施维护者精读,其 mixin 化设计和共享资源策略值得在大型项目中推广。
无审核评论;PR 由作者直接合并。
替换 test_srt_backend.py 为阶段 A 门禁测试,精简 dsv4 e2e 测试减少重复代码,重新组织 test/registered/core/ 使其只保留框架级测试,并将模型族 e2e 测试合并到 models_e2e/,以降低 CI 维护成本并提升测试覆盖的清晰度。
推荐测试基础设施维护者精读,其 mixin 化设计和共享资源策略值得在大型项目中推广。
无审核评论;PR 由作者直接合并。
basic_api_contract_kit.py、basic_decode_correctness_kit.py、basic_scheduler_stress_kit.py,分别针对协议层、输出质量和调度/流式路径。删除旧 server_sanity_kit.py,其 12 条检测被拆分到三个新套件中。test/registered/core/test_basic_sanity.py,组合上述三个 mixin 并私有添加 hellaswag 准确率阈值测试(test_accuracy_floor),作为下游阶段的依赖。_gsm8k_check 替换为 GSM8KMixin,仅保留 BasicDecodeCorrectnessMixin(API 契约和压力已在门禁覆盖),并移动到 models_e2e/ 下。test_srt_backend.py(被门禁替代)和 test_cuda_coredump.py;裁剪 test_srt_endpoint.py 和 test_srt_engine.py 冗余用例;将 test_hidden_states.py 和 test_engine_child_pids.py 改为共享 sgl.Engine 实例(通过 setUpClass),减少启动耗时约 40-60s。attention/、radix_cache/、models/),将 test_gemma4_moe_deterministic.py 重命名为 test_gemma4_swa_triton_oob_regression.py。更新所有导入路径。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
python/sglang/test/kits/basic_scheduler_stress_kit.py |
调度压力套件 | added | 7.76 |
python/sglang/test/kits/basic_api_contract_kit.py |
API 契约套件 | added | 7.33 |
python/sglang/test/kits/basic_decode_correctness_kit.py |
解码正确性套件 | added | 7.21 |
test/registered/core/test_basic_sanity.py |
基础检测 | added | 7.84 |
python/sglang/test/kits/server_sanity_kit.py |
旧检测套件 | removed | 7.46 |
test/registered/language/test_srt_backend.py |
旧后端测试 | removed | 6.81 |
分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
主要风险来自文件删除和资源共享:
test_srt_backend.py 和 test_cuda_coredump.py 可能移除未被其他套件覆盖的测试场景,但已通过门禁补充覆盖。test_hidden_states.py 共享 Engine 并设置 mem_fraction_static=0.7 可能影响 HF 参考模型共存,但通过 flush_cache() 维持语义。对开发者的影响:更清晰的测试目录结构和可复用的 mixin,降低编写新模型 e2e 测试的成本。对 CI 的影响:阶段 A 门禁更稳定,减少冗余测试执行时间。对系统无运行时影响。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论