ci: migrate scheduler tests to test/registered/scheduler/ (#16442)
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
import time
|
||||
import unittest
|
||||
from types import SimpleNamespace
|
||||
|
||||
import requests
|
||||
|
||||
from sglang.srt.environ import envs
|
||||
from sglang.srt.utils import kill_process_tree
|
||||
from sglang.test.ci.ci_register import register_amd_ci, register_cuda_ci
|
||||
from sglang.test.run_eval import run_eval
|
||||
from sglang.test.test_utils import (
|
||||
DEFAULT_MODEL_NAME_FOR_TEST,
|
||||
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||
DEFAULT_URL_FOR_TEST,
|
||||
CustomTestCase,
|
||||
popen_launch_server,
|
||||
)
|
||||
from sglang.utils import is_in_ci
|
||||
|
||||
register_cuda_ci(est_time=259, suite="stage-b-test-small-1-gpu")
|
||||
register_amd_ci(est_time=450, suite="stage-b-test-small-1-gpu-amd")
|
||||
|
||||
|
||||
class TestRetractDecode(CustomTestCase):
|
||||
"""python -m unittest test_retract_decode.TestRetractDecode"""
|
||||
|
||||
other_args = []
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.model = DEFAULT_MODEL_NAME_FOR_TEST
|
||||
cls.base_url = DEFAULT_URL_FOR_TEST
|
||||
launch_args = ["--chunked-prefill-size", "128"] + cls.other_args
|
||||
with envs.SGLANG_TEST_RETRACT.override(
|
||||
True
|
||||
), envs.SGLANG_ENABLE_STRICT_MEM_CHECK_DURING_BUSY.override(1):
|
||||
cls.process = popen_launch_server(
|
||||
cls.model,
|
||||
cls.base_url,
|
||||
timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||
other_args=launch_args,
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
kill_process_tree(cls.process.pid)
|
||||
|
||||
def test_mmlu(self):
|
||||
args = SimpleNamespace(
|
||||
base_url=self.base_url,
|
||||
model=self.model,
|
||||
eval_name="mmlu",
|
||||
num_examples=64,
|
||||
num_threads=32,
|
||||
)
|
||||
|
||||
metrics = run_eval(args)
|
||||
self.assertGreaterEqual(metrics["score"], 0.65)
|
||||
time.sleep(1) # wait for mem check
|
||||
|
||||
assert self.process.poll() is None, "Server crashed during test"
|
||||
|
||||
|
||||
class TestRetractDecodePaged(TestRetractDecode):
|
||||
"""python -m unittest test_retract_decode.TestRetractDecodePaged"""
|
||||
|
||||
other_args = ["--page-size", "16"]
|
||||
|
||||
|
||||
class TestRetractDecodeChunkCache(TestRetractDecode):
|
||||
"""python -m unittest test_retract_decode.TestRetractDecodeChunkCache"""
|
||||
|
||||
other_args = ["--disable-radix-cache"]
|
||||
|
||||
|
||||
class TestRetractDecodeChunkCachePaged(TestRetractDecode):
|
||||
"""python -m unittest test_retract_decode.TestRetractDecodeChunkCachePaged"""
|
||||
|
||||
other_args = ["--disable-radix-cache", "--page-size", "16"]
|
||||
|
||||
|
||||
@unittest.skipIf(is_in_ci(), "Skipped in CI due to long runtime")
|
||||
class TestRetractDecodeLongOutput(CustomTestCase):
|
||||
"""python -m unittest test_retract_decode.TestRetractDecodeLongOutput"""
|
||||
|
||||
other_args = []
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.model = DEFAULT_MODEL_NAME_FOR_TEST
|
||||
cls.base_url = DEFAULT_URL_FOR_TEST
|
||||
launch_args = [
|
||||
"--chunked-prefill-size",
|
||||
"128",
|
||||
"--page-size",
|
||||
"16",
|
||||
] + cls.other_args
|
||||
cls.process = popen_launch_server(
|
||||
cls.model,
|
||||
cls.base_url,
|
||||
timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
|
||||
other_args=launch_args,
|
||||
)
|
||||
|
||||
def test_long_output_retract(self):
|
||||
data = {
|
||||
"input_ids": [[233 + i] * 1234 for i in range(256)],
|
||||
"sampling_params": {"max_new_tokens": 90000, "ignore_eos": True},
|
||||
}
|
||||
res = requests.post(f"{self.base_url}/generate", json=data)
|
||||
assert res.status_code == 200, f"Request failed: {res.status_code}"
|
||||
assert self.process.poll() is None, "Server crashed during test"
|
||||
|
||||
|
||||
@unittest.skipIf(is_in_ci(), "Skipped in CI due to long runtime")
|
||||
class TestRetractDecodeLongOutputChunkCache(TestRetractDecodeLongOutput):
|
||||
"""python -m unittest test_retract_decode.TestRetractDecodeLongOutputChunkCache"""
|
||||
|
||||
other_args = ["--disable-radix-cache"]
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user