Files
vLLM/tests/v1/engine/test_startup_watch_processes.py
T
7b9f2dad89 [Frontend] Watch frontend processes during engine startup (#43417)
Signed-off-by: Bugen Zhao <i@bugenzhao.com>
Signed-off-by: Nick Hill <nickhill123@gmail.com>
Co-authored-by: OpenAI Codex <codex@openai.com>
Co-authored-by: Nick Hill <nickhill123@gmail.com>
2026-08-06 11:17:24 -07:00

69 lines
1.8 KiB
Python

# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
from multiprocessing import connection
from types import SimpleNamespace
import pytest
import zmq
from vllm.v1.engine.utils import (
CoreEngine,
CoreEngineLaunch,
EngineZmqAddresses,
wait_for_engine_startup,
)
pytestmark = pytest.mark.skip_global_cleanup
class _FinishedProcess:
name = "RustFrontend"
def __init__(self, sentinel):
self.sentinel = sentinel
@property
def exitcode(self):
return 1
def test_wait_for_engine_startup_reports_watched_process_exit():
ctx = zmq.Context()
handshake_socket = ctx.socket(zmq.ROUTER)
recv, send = connection.Pipe(duplex=False)
send.close()
parallel_config = SimpleNamespace(
data_parallel_size_local=1,
data_parallel_hybrid_lb=False,
data_parallel_external_lb=False,
)
try:
launch = CoreEngineLaunch(
engine_manager=None,
coordinator=None,
addresses=EngineZmqAddresses(inputs=[], outputs=[]),
tensor_queue=None,
)
launch.watched_frontend_processes = [_FinishedProcess(recv)]
with pytest.raises(RuntimeError) as exc_info:
wait_for_engine_startup(
handshake_socket,
[CoreEngine()],
parallel_config, # type: ignore[arg-type]
coordinated_dp=False,
cache_config=None, # type: ignore[arg-type]
launch=launch,
)
finally:
recv.close()
handshake_socket.close(linger=0)
ctx.term()
assert "Frontend process failed during engine core initialization" in str(
exc_info.value
)
assert "Failed frontend proc(s): {'RustFrontend': 1}" in str(exc_info.value)