Prhub

#41072 [CI][AMD][BugFix] Patch has_flashinfer decorator for test_select_rocm_aiter_backend

原始 PR 作者 rasmith 合并时间 2026-04-29 10:12 文件变更 1 提交数 2 评论 0 代码增减 +1 / -1

执行摘要

修复 has_flashinfer mock 路径,使 ROCm 测试通过

has_flashinfer 函数已从 vllm.model_executor.layers.fused_moe.oracle.unquantized 移至 vllm.utils.flashinfer.has_flashinfer,但测试中的 @patch 装饰器未更新,导致 test_select_rocm_aiter_backend 测试失败。PR 目的就是修复此路径不一致问题,使测试重新通过。

无特殊关注必要。此 PR 是典型的后续维护修复,可快速合并。

讨论亮点

无实际 review 讨论;gemini-code-assist[bot]claude[bot] 的评论均无实质性反馈,yewentao256tjtanaa 均直接批准。

实现拆解

仅修改 tests/kernels/moe/test_unquantized_backend_selection.py 第 88 行,将 @patch 的路径参数从 "vllm.model_executor.layers.fused_moe.oracle.unquantized.has_flashinfer" 改为 "vllm.utils.flashinfer.has_flashinfer",以匹配 has_flashinfer 函数的最新位置。

文件 模块 状态 重要度
tests/kernels/moe/test_unquantized_backend_selection.py 测试 modified 3.25

关键符号

test_select_rocm_aiter_backend

关键源码片段

tests/kernels/moe/test_unquantized_backend_selection.py test-coverage

唯一变更文件,修复 mock 路径以匹配 has_flashinfer 函数的新位置

# tests/kernels/moe/test_unquantized_backend_selection.py 中修复后的 mock 装饰器
# 将路径从旧地址更新为 has_flashinfer 函数的新位置
@patch(
    "vllm.utils.flashinfer.has_flashinfer", # 修复前 : "vllm.model_executor.layers.fused_moe.oracle.unquantized.has_flashinfer"
    return_value=False,
)
@patch(
    "vllm.model_executor.layers.fused_moe.oracle.unquantized.rocm_aiter_ops.is_fused_moe_enabled",
    return_value=True,
)
@pytest.mark.skipif(
    not current_platform.is_rocm(), reason="ROCm-specific backend selection test"
)
def test_select_rocm_aiter_backend(mock_aiter_enabled, mock_has_flashinfer):
    """Test ROCm backend selection when AITER is available."""
    # 测试主体未变化

评论区精华

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

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

风险与影响

风险极低。只修改测试文件中的 mock 路径,与被 mock 的生产代码逻辑无关。唯一风险是该路径在未来再次移动时未同步更新,但属测试维护范畴。

仅影响 ROCm 环境下的 test_select_rocm_aiter_backend 测试用例。修复后该测试可通过,使得 CI 中 ROCm 相关测试更可靠。对生产代码无影响。

低风险 - 仅测试变更

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论