From 2f00e425550e39b1a424c44604b694a47f884c3b Mon Sep 17 00:00:00 2001 From: Prozac614 Date: Mon, 6 Apr 2026 10:14:35 +0800 Subject: [PATCH] [diffusion] CI: apply diffusers backend in lora case (#22157) Co-authored-by: daiweitao --- .../test/server/test_server_common.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/python/sglang/multimodal_gen/test/server/test_server_common.py b/python/sglang/multimodal_gen/test/server/test_server_common.py index 61bf4f573..29d985d21 100644 --- a/python/sglang/multimodal_gen/test/server/test_server_common.py +++ b/python/sglang/multimodal_gen/test/server/test_server_common.py @@ -43,6 +43,14 @@ from sglang.multimodal_gen.test.test_utils import ( logger = init_logger(__name__) +def _is_lora_case(case: DiffusionTestCase) -> bool: + return bool( + case.server_args.lora_path + or case.server_args.dynamic_lora_path + or case.server_args.second_lora_path + ) + + @pytest.fixture def diffusion_server(case: DiffusionTestCase) -> ServerContext: """Start a diffusion server for a single case and tear it down afterwards.""" @@ -65,9 +73,9 @@ def diffusion_server(case: DiffusionTestCase) -> ServerContext: sampling_params = case.sampling_params extra_args = os.environ.get("SGLANG_TEST_SERVE_ARGS", "") - # In GT generation mode, force --backend diffusers + # Keep LoRA GT on the normal backend path so adapter state matches CI. if os.environ.get("SGLANG_GEN_GT", "0") == "1": - if "--backend" not in extra_args: + if not _is_lora_case(case) and "--backend" not in extra_args: extra_args = "--backend diffusers " + extra_args.strip() extra_args += f" --num-gpus {server_args.num_gpus}" @@ -853,9 +861,8 @@ Consider updating perf_baselines.json with the snippets below: # Check if we're in GT generation mode is_gt_gen_mode = os.environ.get("SGLANG_GEN_GT", "0") == "1" - # Dynamic LoRA loading test - tests LayerwiseOffload + set_lora interaction - # Server starts WITHOUT lora_path, then set_lora is called after startup - if case.run_lora_dynamic_load_check and not is_gt_gen_mode: + # GT generation also needs the dynamic set_lora step before generation. + if case.run_lora_dynamic_load_check: self._test_dynamic_lora_loading(diffusion_server, case) generate_fn = get_generate_fn(