From 2e43b4de5244930201b1bfdefc3b9d04df764bb8 Mon Sep 17 00:00:00 2001 From: Cheng Wan <54331508+ch-wan@users.noreply.github.com> Date: Wed, 22 Jul 2026 01:19:13 -0700 Subject: [PATCH] test: publish resolved config in unit fixtures for the namespace API (#31817) --- .../unit/test_legacy_global_ratchet.py | 2 +- test/registered/unit/test_runtime_context.py | 36 +++++++++++-------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/test/registered/unit/test_legacy_global_ratchet.py b/test/registered/unit/test_legacy_global_ratchet.py index a2c40b888..a0ecc59d2 100644 --- a/test/registered/unit/test_legacy_global_ratchet.py +++ b/test/registered/unit/test_legacy_global_ratchet.py @@ -31,7 +31,7 @@ _RATCHETS = [ ( "set_global_server_args_for_*", r"\bset_global_server_args_for_(?:scheduler|tokenizer)\s*\(", - 5, + 4, ), ] diff --git a/test/registered/unit/test_runtime_context.py b/test/registered/unit/test_runtime_context.py index 35ea11e3f..e95d0516b 100644 --- a/test/registered/unit/test_runtime_context.py +++ b/test/registered/unit/test_runtime_context.py @@ -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, @@ -18,6 +18,7 @@ from sglang.srt.runtime_context import ( _FlagGroupBase, get_context, get_flags, + get_memory, get_parallel, get_server_args, reset_context, @@ -215,8 +216,10 @@ class TestServerArgsOwnership(_IsolatedServerArgs): self.assertIs(get_server_args(), sentinel) self.assertIs(get_context().server_args, sentinel) - def test_tokenizer_alias_is_same_function(self): - self.assertIs( + def test_tokenizer_and_scheduler_setters_are_distinct_role_shims(self): + # The per-role publish shims are no longer aliases: each records its own + # process role via publish(role=...). + self.assertIsNot( server_args_module.set_global_server_args_for_tokenizer, server_args_module.set_global_server_args_for_scheduler, ) @@ -373,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("memory")] = None + sampling_backend: A[ + str | None, Arg(help="s", resolvable=True), NS("exec.kernel") + ] = None _resolved_overrides: list = dataclasses.field(default_factory=list) @@ -916,12 +921,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_memory().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 @@ -933,16 +941,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_memory().page_size, 64) + self.assertIn( + ("model.load_time", {"page_size": 64}), + get_context().overrides_log(), + ) if __name__ == "__main__":