From 660ef9aab7d80a67a6aad58163254a736eb4b19f Mon Sep 17 00:00:00 2001 From: Daniel Han Date: Tue, 7 Jul 2026 01:32:08 +0000 Subject: [PATCH] Reconcile stale tests after stack fold: typed resolved-field roundtrip; drop dense-fbcache test superseded by video auto-quant --- .../backend/tests/test_diffusion_backend.py | 4 +- studio/backend/tests/test_video_backend.py | 41 ------------------- 2 files changed, 3 insertions(+), 42 deletions(-) diff --git a/studio/backend/tests/test_diffusion_backend.py b/studio/backend/tests/test_diffusion_backend.py index e6520d8d98..0ccc7a5d23 100644 --- a/studio/backend/tests/test_diffusion_backend.py +++ b/studio/backend/tests/test_diffusion_backend.py @@ -2461,7 +2461,9 @@ def test_diffusion_status_response_carries_resolved(): rec = {"transformer_quant": {"value": "fp8", "source": "auto", "reason": "blackwell"}} resp = DiffusionStatusResponse(loaded = True, resolved = rec) - assert resp.resolved == rec + # The typed field coerces the plain record into DiffusionResolvedControl objects; the + # serialized form must round-trip back to the record, proving the field is DECLARED and not + # silently dropped by Pydantic's default extra='ignore'. assert resp.model_dump()["resolved"] == rec # Absent by default (nothing resolved / native engine). assert DiffusionStatusResponse(loaded = False).resolved is None diff --git a/studio/backend/tests/test_video_backend.py b/studio/backend/tests/test_video_backend.py index 0be7d2328f..3e15984061 100644 --- a/studio/backend/tests/test_video_backend.py +++ b/studio/backend/tests/test_video_backend.py @@ -1046,47 +1046,6 @@ def test_wan_ti2v_single_dit_only_touches_one(fake_runtime): assert pipe.transformer.cache_config is not None -def test_video_quant_load_raises_fbcache_threshold(fake_runtime, monkeypatch): - # Regression: a quantized video transformer's block residuals are larger, so it needs - # the higher FBCache trigger threshold to cache at all. The load must thread quant_active - # into apply_step_cache like the image path does. With transformer_quant engaged and no - # explicit threshold the engaged config must carry QUANT_FBCACHE_THRESHOLD (0.12); a plain - # bf16 load uses the dense default (0.08), proving the discrimination. - import core.inference.video as video_mod - from core.inference.diffusion_cache import ( - DEFAULT_FBCACHE_THRESHOLD, - QUANT_FBCACHE_THRESHOLD, - ) - - monkeypatch.setattr(video_mod, "dense_transformer_supported", lambda target: True) - monkeypatch.setattr( - video_mod, - "quantize_transformer", - lambda view, target, *, mode, family, logger = None: "int8", - ) - - quant = VideoBackend() - quant.load_pipeline( - "Wan-AI/Wan2.2-TI2V-5B-Diffusers", - model_kind = "pipeline", - transformer_quant = "int8", - transformer_cache = "fbcache", - ) - quant_cfg = quant._state.pipe.transformer.cache_config - assert quant_cfg is not None - assert quant_cfg[1] == QUANT_FBCACHE_THRESHOLD - - dense = VideoBackend() - dense.load_pipeline( - "Wan-AI/Wan2.2-TI2V-5B-Diffusers", - model_kind = "pipeline", - transformer_cache = "fbcache", - ) - dense_cfg = dense._state.pipe.transformer.cache_config - assert dense_cfg is not None - assert dense_cfg[1] == DEFAULT_FBCACHE_THRESHOLD - - def test_wan_a14b_dense_quant_applies_to_both_dits(fake_runtime, monkeypatch): # transformer_quant on a pipeline load quantises the dense DiT(s). On CPU the real # dense path is unsupported, so stub the two quant seams to record which pipe view