Add more testing for chunked prefill (#27506)

This commit is contained in:
fzyzcjy
2026-06-09 20:19:30 +08:00
committed by GitHub
parent 609f5f549c
commit 1368717248
42 changed files with 7929 additions and 22 deletions
@@ -0,0 +1,49 @@
import unittest
from sglang.test.scripted_runtime.context import ScriptedContext
from sglang.test.scripted_runtime.test_case import ScriptedTestCase
from sglang.test.scripted_runtime_chunked_helpers import (
DEFAULT_CHUNK_SIZE,
base_engine_kwargs,
run_until_finished,
)
class TestScriptedHttpSmoke(ScriptedTestCase):
ENGINE_KWARGS = base_engine_kwargs(chunked_prefill_size=DEFAULT_CHUNK_SIZE)
def test_chunked_req_is_chunking_then_finishes(self):
self.server.execute_script(self._script_chunked_req_is_chunking_then_finishes)
@staticmethod
def _script_chunked_req_is_chunking_then_finishes(t: ScriptedContext):
r = t.start_req(prompt_len=4 * DEFAULT_CHUNK_SIZE, max_new_tokens=2)
saw_chunking = False
for _ in range(800):
if r.is_chunking:
saw_chunking = True
if r.finished:
break
yield
assert r.finished
assert (
saw_chunking
), "expected the req to hold the chunked_req slot at least once"
def test_two_reqs_finish(self):
self.server.execute_script(self._script_two_reqs_finish)
@staticmethod
def _script_two_reqs_finish(t: ScriptedContext):
r1 = t.start_req(prompt_len=8, max_new_tokens=4)
yield from run_until_finished(r1)
r2 = t.start_req(prompt_len=2 * DEFAULT_CHUNK_SIZE, max_new_tokens=2)
yield from run_until_finished(r2)
assert r1.finished
assert r2.finished
assert r1.chunks_done == 0
assert r2.chunks_done == 2
if __name__ == "__main__":
unittest.main()