runtime_context: record the publishing process role (#33012)
This commit is contained in:
@@ -31,7 +31,7 @@ _RATCHETS = [
|
||||
(
|
||||
"set_global_server_args_for_*",
|
||||
r"\bset_global_server_args_for_(?:scheduler|tokenizer)\s*\(",
|
||||
5,
|
||||
4,
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
@@ -215,8 +215,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_alias_is_distinct_role_shim(self):
|
||||
# Deliberately NOT an alias: the two legacy setters publish with
|
||||
# different process roles (scheduler vs tokenizer).
|
||||
self.assertIsNot(
|
||||
server_args_module.set_global_server_args_for_tokenizer,
|
||||
server_args_module.set_global_server_args_for_scheduler,
|
||||
)
|
||||
|
||||
@@ -164,6 +164,34 @@ class TestContextOverride(CustomTestCase):
|
||||
self.assertIs(rc.get_context().server_args, target)
|
||||
self.assertEqual(rc.get_schedule().page_size, 16)
|
||||
|
||||
def test_publish_records_role(self):
|
||||
rc.publish(ServerArgs(model_path="dummy"), role="scheduler")
|
||||
self.assertEqual(rc.publish_role(), "scheduler")
|
||||
|
||||
def test_legacy_shims_record_roles(self):
|
||||
# Unit 2a: the legacy setters publish with their process role.
|
||||
from sglang.srt.server_args import (
|
||||
set_global_server_args_for_scheduler,
|
||||
set_global_server_args_for_tokenizer,
|
||||
)
|
||||
|
||||
set_global_server_args_for_scheduler(ServerArgs(model_path="dummy"))
|
||||
self.assertEqual(rc.publish_role(), "scheduler")
|
||||
set_global_server_args_for_tokenizer(ServerArgs(model_path="dummy"))
|
||||
self.assertEqual(rc.publish_role(), "tokenizer")
|
||||
|
||||
def test_reset_clears_role(self):
|
||||
rc.publish(ServerArgs(model_path="dummy"), role="test")
|
||||
rc.reset_context()
|
||||
self.assertIsNone(rc.publish_role())
|
||||
|
||||
def test_direct_install_clears_role(self):
|
||||
# A role-less set_server_args (test overrides, draft-worker builds)
|
||||
# must not inherit the previous lifecycle's role.
|
||||
rc.publish(ServerArgs(model_path="dummy"), role="scheduler")
|
||||
rc.get_context().set_server_args(ServerArgs(model_path="dummy"))
|
||||
self.assertIsNone(rc.publish_role())
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user