[Misc] Cleanup: use consistent pytest-mock in unit tests (#2698)
Signed-off-by: yuanheng <jonathan.zhaoyh@gmail.com>
This commit is contained in:
1 parent
2c67c30550
commit
e0cdbe9a5d
26 files changed
+1598
-1369
No files matched your search
@@ -5,36 +5,36 @@ subsequent attempts to collect output raise RuntimeError.
|
||||
"""
|
||||
|
||||
import queue
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
from pytest_mock import MockerFixture
|
||||
|
||||
from vllm_omni.engine.async_omni_engine import AsyncOmniEngine
|
||||
|
||||
pytestmark = [pytest.mark.core_model, pytest.mark.cpu]
|
||||
|
||||
|
||||
def _make_engine(output_queue, *, thread_alive: bool = True) -> AsyncOmniEngine:
|
||||
def _make_engine(output_queue, mocker: MockerFixture, *, thread_alive: bool = True) -> AsyncOmniEngine:
|
||||
"""Create an AsyncOmniEngine bypassing __init__."""
|
||||
engine = object.__new__(AsyncOmniEngine)
|
||||
engine.output_queue = output_queue
|
||||
engine.orchestrator_thread = MagicMock(
|
||||
is_alive=MagicMock(return_value=thread_alive),
|
||||
engine.orchestrator_thread = mocker.MagicMock(
|
||||
is_alive=mocker.MagicMock(return_value=thread_alive),
|
||||
)
|
||||
return engine
|
||||
|
||||
|
||||
def test_try_get_output_raises_after_orchestrator_dies():
|
||||
def test_try_get_output_raises_after_orchestrator_dies(mocker: MockerFixture):
|
||||
"""Draining remaining results then hitting an empty queue with a dead
|
||||
orchestrator must raise RuntimeError so callers know the pipeline is gone."""
|
||||
mock_queue = MagicMock()
|
||||
mock_queue = mocker.MagicMock()
|
||||
# First call succeeds; second call finds the queue empty.
|
||||
mock_queue.sync_q.get.side_effect = [
|
||||
{"type": "output", "request_id": "r1"},
|
||||
queue.Empty,
|
||||
]
|
||||
|
||||
engine = _make_engine(mock_queue, thread_alive=True)
|
||||
engine = _make_engine(mock_queue, mocker, thread_alive=True)
|
||||
|
||||
# Collect the one buffered result.
|
||||
assert engine.try_get_output()["request_id"] == "r1"
|
||||
@@ -47,15 +47,15 @@ def test_try_get_output_raises_after_orchestrator_dies():
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_try_get_output_async_raises_after_orchestrator_dies():
|
||||
async def test_try_get_output_async_raises_after_orchestrator_dies(mocker: MockerFixture):
|
||||
"""Same scenario as above but for the async variant."""
|
||||
mock_queue = MagicMock()
|
||||
mock_queue = mocker.MagicMock()
|
||||
mock_queue.sync_q.get_nowait.side_effect = [
|
||||
{"type": "output", "request_id": "r1"},
|
||||
queue.Empty,
|
||||
]
|
||||
|
||||
engine = _make_engine(mock_queue, thread_alive=True)
|
||||
engine = _make_engine(mock_queue, mocker, thread_alive=True)
|
||||
|
||||
assert (await engine.try_get_output_async())["request_id"] == "r1"
|
||||
|
||||
|
||||
Reference in new issue
Block a user