From 5d1f6daef61528983800120e06db0d60c8b216ae Mon Sep 17 00:00:00 2001 From: Li Wang Date: Tue, 23 Dec 2025 18:35:06 +0800 Subject: [PATCH] [CI] Mock spawn for vlm tests (#5279) ### What this PR does / why we need it? Using `spawn` in continuous testing scenarios ### Does this PR introduce _any_ user-facing change? ### How was this patch tested? - vLLM version: release/v0.13.0 - vLLM main: https://github.com/vllm-project/vllm/commit/ad32e3e19ccf0526cb6744a5fed09a138a5fb2f9 --------- Signed-off-by: wangli --- .github/workflows/_e2e_test.yaml | 3 +++ tests/e2e/singlecard/test_vlm.py | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/.github/workflows/_e2e_test.yaml b/.github/workflows/_e2e_test.yaml index 94456091..f3edf491 100644 --- a/.github/workflows/_e2e_test.yaml +++ b/.github/workflows/_e2e_test.yaml @@ -86,6 +86,7 @@ jobs: - name: Run vllm-project/vllm-ascend test env: PYTORCH_NPU_ALLOC_CONF: max_split_size_mb:256 + VLLM_WORKER_MULTIPROC_METHOD: spawn if: ${{ inputs.type == 'light' }} run: | # pytest -sv --durations=0 tests/e2e/singlecard/test_aclgraph_accuracy.py @@ -177,6 +178,8 @@ jobs: - name: Run vllm-project/vllm-ascend test (non triton) if: ${{ inputs.type == 'full' }} + env: + VLLM_WORKER_MULTIPROC_METHOD: spawn run: | pytest -sv --durations=0 tests/e2e/multicard/test_aclgraph_capture_replay.py diff --git a/tests/e2e/singlecard/test_vlm.py b/tests/e2e/singlecard/test_vlm.py index 88ad378a..6133157f 100644 --- a/tests/e2e/singlecard/test_vlm.py +++ b/tests/e2e/singlecard/test_vlm.py @@ -20,6 +20,9 @@ Run `pytest tests/test_offline_inference.py`. """ +import os +from unittest.mock import patch + from vllm import SamplingParams from vllm.assets.audio import AudioAsset from vllm.assets.image import ImageAsset @@ -27,6 +30,7 @@ from vllm.assets.image import ImageAsset from tests.e2e.conftest import VllmRunner +@patch.dict(os.environ, {"VLLM_WORKER_MULTIPROC_METHOD": "spawn"}) def test_multimodal_vl(vl_config): image = ImageAsset("cherry_blossom").pil_image.convert("RGB") @@ -57,6 +61,7 @@ def test_multimodal_vl(vl_config): assert output_str, "Generated output should not be empty." +@patch.dict(os.environ, {"VLLM_WORKER_MULTIPROC_METHOD": "spawn"}) def test_multimodal_audio(): audio_prompt = "".join([ f"Audio {idx+1}: <|audio_bos|><|AUDIO|><|audio_eos|>\n"