test: complete vllm stub so src.utils imports under py<3.14
src.utils uses ErrorResponse (a vllm import) as a module-level return annotation, evaluated eagerly on python <3.14. the vllm stub lacked it, so collection failed with NameError on ci (py3.11) while passing locally (py3.14, lazy annotations). add the missing vllm.utils / protocol / SamplingParams symbols to the stub.
This commit is contained in:
@@ -56,9 +56,33 @@ def _install_vllm_stub():
|
||||
max_parallel_loading_workers: Optional[int] = None
|
||||
kv_cache_dtype: Optional[str] = None
|
||||
|
||||
class _Stub: # pragma: no cover - placeholder for vllm symbols
|
||||
def __init__(self, *args, **kwargs):
|
||||
pass
|
||||
|
||||
vllm.AsyncEngineArgs = AsyncEngineArgs
|
||||
vllm.SamplingParams = _Stub
|
||||
sys.modules["vllm"] = vllm
|
||||
|
||||
# src.utils imports these at module load and uses ErrorResponse as a return
|
||||
# annotation, which Python evaluates eagerly on <3.14 -> must be defined.
|
||||
vllm_utils = types.ModuleType("vllm.utils")
|
||||
vllm_utils.random_uuid = lambda: "stub-uuid"
|
||||
vllm.utils = vllm_utils
|
||||
sys.modules["vllm.utils"] = vllm_utils
|
||||
|
||||
protocol = types.ModuleType("vllm.entrypoints.openai.engine.protocol")
|
||||
protocol.ErrorResponse = _Stub
|
||||
protocol.ErrorInfo = _Stub
|
||||
protocol.RequestResponseMetadata = _Stub
|
||||
for name in (
|
||||
"vllm.entrypoints",
|
||||
"vllm.entrypoints.openai",
|
||||
"vllm.entrypoints.openai.engine",
|
||||
):
|
||||
sys.modules.setdefault(name, types.ModuleType(name))
|
||||
sys.modules["vllm.entrypoints.openai.engine.protocol"] = protocol
|
||||
|
||||
# vllm.model_executor.model_loader.tensorizer.TensorizerConfig
|
||||
model_executor = types.ModuleType("vllm.model_executor")
|
||||
model_loader = types.ModuleType("vllm.model_executor.model_loader")
|
||||
|
||||
Reference in New Issue
Block a user