From ba5183fe10d1a583094472b8f1b355a3439e37fe Mon Sep 17 00:00:00 2001 From: Mick Date: Tue, 11 Aug 2026 09:09:32 +0800 Subject: [PATCH] [diffusion] UX: fix CI server warmup progress logging (#34301) --- .../multimodal_gen/runtime/server_warmup.py | 5 +-- .../test/unit/test_server_warmup_progress.py | 36 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 python/sglang/multimodal_gen/test/unit/test_server_warmup_progress.py diff --git a/python/sglang/multimodal_gen/runtime/server_warmup.py b/python/sglang/multimodal_gen/runtime/server_warmup.py index bd0e2b3a5..db5102b38 100644 --- a/python/sglang/multimodal_gen/runtime/server_warmup.py +++ b/python/sglang/multimodal_gen/runtime/server_warmup.py @@ -253,15 +253,16 @@ class SchedulerWarmupMixin: refresh=False, ) self._warmup_progress_bar.update(1) + progress_n = self._warmup_processed if _is_ci_log_env(): logger.info( "Warmup requests: %s/%s %s", - self._warmup_progress_bar.n, + progress_n, self._warmup_progress_bar.total, self._format_warmup_req(req_or_group), ) - if self._warmup_progress_bar.n >= self._warmup_progress_bar.total: + if progress_n >= self._warmup_progress_bar.total: self._warmup_progress_bar.close() self._warmup_progress_bar = None diff --git a/python/sglang/multimodal_gen/test/unit/test_server_warmup_progress.py b/python/sglang/multimodal_gen/test/unit/test_server_warmup_progress.py new file mode 100644 index 000000000..19c1e2a81 --- /dev/null +++ b/python/sglang/multimodal_gen/test/unit/test_server_warmup_progress.py @@ -0,0 +1,36 @@ +"""Unit tests for server warmup progress reporting.""" + +import unittest +from unittest.mock import MagicMock, patch + +from sglang.multimodal_gen.runtime.pipelines_core.schedule_batch import OutputBatch +from sglang.multimodal_gen.runtime.server_warmup import SchedulerWarmupMixin + + +class TestServerWarmupProgress(unittest.TestCase): + def test_ci_progress_uses_scheduler_counter_when_tqdm_is_disabled(self): + scheduler = SchedulerWarmupMixin() + scheduler._show_warmup_progress = True + scheduler._warmup_total = 1 + scheduler._warmup_processed = 1 + progress_bar = MagicMock(total=1, n=0) + scheduler._warmup_progress_bar = progress_bar + + with ( + patch( + "sglang.multimodal_gen.runtime.server_warmup._is_ci_log_env", + return_value=True, + ), + patch("sglang.multimodal_gen.runtime.server_warmup.logger") as logger, + ): + scheduler._advance_warmup_progress_bar(object(), OutputBatch()) + + logger.info.assert_called_once_with( + "Warmup requests: %s/%s %s", 1, 1, "warmup req" + ) + progress_bar.close.assert_called_once_with() + self.assertIsNone(scheduler._warmup_progress_bar) + + +if __name__ == "__main__": + unittest.main()