main
py 76 lines 2.66 KB
Raw
1 # SPDX-License-Identifier: Apache-2.0
2 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4 from vllm import SamplingParams
5 from vllm.v1.engine import EngineCoreRequest
6 from vllm.v1.kv_hints import KvHintAction, KvHintsEnvelope
7 from vllm.v1.request import Request, RequestStatus
8
9
10 def test_request_status_fmt_str():
11 """Test that the string representation of RequestStatus is correct."""
12 assert f"{RequestStatus.WAITING}" == "WAITING"
13 assert (
14 f"{RequestStatus.WAITING_FOR_STRUCTURED_OUTPUT_GRAMMAR}"
15 == "WAITING_FOR_STRUCTURED_OUTPUT_GRAMMAR"
16 )
17 assert f"{RequestStatus.WAITING_FOR_REMOTE_KVS}" == "WAITING_FOR_REMOTE_KVS"
18 assert f"{RequestStatus.WAITING_FOR_STREAMING_REQ}" == "WAITING_FOR_STREAMING_REQ"
19 assert f"{RequestStatus.RUNNING}" == "RUNNING"
20 assert f"{RequestStatus.PREEMPTED}" == "PREEMPTED"
21 assert f"{RequestStatus.FINISHED_STOPPED}" == "FINISHED_STOPPED"
22 assert f"{RequestStatus.FINISHED_LENGTH_CAPPED}" == "FINISHED_LENGTH_CAPPED"
23 assert f"{RequestStatus.FINISHED_ABORTED}" == "FINISHED_ABORTED"
24 assert f"{RequestStatus.FINISHED_IGNORED}" == "FINISHED_IGNORED"
25
26
27 def test_request_copies_session_id_from_engine_core_request():
28 """Test that Request preserves session ID from EngineCoreRequest."""
29 engine_request = EngineCoreRequest(
30 request_id="request-1",
31 prompt_token_ids=[1, 2, 3],
32 mm_features=None,
33 sampling_params=SamplingParams(max_tokens=1),
34 pooling_params=None,
35 arrival_time=0.0,
36 lora_request=None,
37 cache_salt=None,
38 data_parallel_rank=None,
39 session_id="session-1",
40 )
41
42 request = Request.from_engine_core_request(engine_request, block_hasher=None)
43
44 assert request.session_id == "session-1"
45
46
47 def test_request_copies_kv_hints_from_engine_core_request():
48 """Test that Request preserves KV hints from EngineCoreRequest."""
49 kv_hints = KvHintsEnvelope(
50 protocol_version="0.1",
51 message_id="msg-1",
52 actions=[
53 KvHintAction(
54 action_id="action-1",
55 action_type="example.action",
56 action_version="1.0",
57 payload={},
58 )
59 ],
60 )
61 engine_request = EngineCoreRequest(
62 request_id="request-1",
63 prompt_token_ids=[1, 2, 3],
64 mm_features=None,
65 sampling_params=SamplingParams(max_tokens=1),
66 pooling_params=None,
67 arrival_time=0.0,
68 lora_request=None,
69 cache_salt=None,
70 data_parallel_rank=None,
71 kv_hints=kv_hints,
72 )
73
74 request = Request.from_engine_core_request(engine_request, block_hasher=None)
75
76 assert request.kv_hints == kv_hints