config: read resolved config via namespace accessors (#33013)
This commit is contained in:
@@ -10,7 +10,7 @@ import unittest
|
||||
from unittest.mock import patch
|
||||
|
||||
import sglang.srt.server_args as server_args_module
|
||||
from sglang.srt.arg_groups.arg_utils import A, Arg
|
||||
from sglang.srt.arg_groups.arg_utils import NS, A, Arg
|
||||
from sglang.srt.runtime_context import (
|
||||
Flags,
|
||||
ParallelContext,
|
||||
@@ -19,6 +19,7 @@ from sglang.srt.runtime_context import (
|
||||
get_context,
|
||||
get_flags,
|
||||
get_parallel,
|
||||
get_schedule,
|
||||
get_server_args,
|
||||
reset_context,
|
||||
)
|
||||
@@ -375,8 +376,10 @@ class TestFlagsTier(_IsolatedServerArgs):
|
||||
class _FakeResolvedArgs:
|
||||
"""Publishable fixture with a resolvable whitelist (real flat leaves)."""
|
||||
|
||||
page_size: A[int | None, Arg(help="p", resolvable=True)] = None
|
||||
sampling_backend: A[str | None, Arg(help="s", resolvable=True)] = None
|
||||
page_size: A[int | None, Arg(help="p", resolvable=True), NS("schedule")] = None
|
||||
sampling_backend: A[
|
||||
str | None, Arg(help="s", resolvable=True), NS("exec.kernel")
|
||||
] = None
|
||||
_resolved_overrides: list = dataclasses.field(default_factory=list)
|
||||
|
||||
|
||||
@@ -935,12 +938,15 @@ class TestPublishLifecycle(_IsolatedServerArgs):
|
||||
get_context().set_server_args(object())
|
||||
self.assertFalse(get_flags().capture.enable_torch_compile)
|
||||
|
||||
def test_declare_load_time_override_writes_through(self):
|
||||
def test_declare_load_time_override_writes_the_bag(self):
|
||||
from sglang.srt.arg_groups.overrides import declare_load_time_override
|
||||
|
||||
args = self._publish(page_size=1)
|
||||
declare_load_time_override("model.load_time", {"page_size": 64})
|
||||
self.assertEqual(args.page_size, 64)
|
||||
# The declaration lands on the config bag; the pristine startup record
|
||||
# (server_args) is untouched.
|
||||
self.assertEqual(get_schedule().page_size, 64)
|
||||
self.assertEqual(args.page_size, 1)
|
||||
|
||||
def test_declare_load_time_override_validates_whitelist(self):
|
||||
from sglang.srt.arg_groups.overrides import declare_load_time_override
|
||||
@@ -952,16 +958,14 @@ class TestPublishLifecycle(_IsolatedServerArgs):
|
||||
|
||||
def test_declare_load_time_override_records_provenance(self):
|
||||
from sglang.srt.arg_groups.overrides import declare_load_time_override
|
||||
from sglang.srt.server_args import ServerArgs
|
||||
|
||||
class _Args(_FakeResolvedArgs):
|
||||
override = ServerArgs.override
|
||||
|
||||
args = _Args(page_size=1)
|
||||
get_context().set_server_args(args)
|
||||
self._publish(page_size=1)
|
||||
declare_load_time_override("model.load_time", {"page_size": 64})
|
||||
self.assertEqual(args.page_size, 64)
|
||||
self.assertIn(("model.load_time", {"page_size": 64}), args._resolved_overrides)
|
||||
self.assertEqual(get_schedule().page_size, 64)
|
||||
self.assertIn(
|
||||
("model.load_time", {"page_size": 64}),
|
||||
get_context().overrides_log(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user