Track exact stock-loader calls across equal strengths, disjoint targets and MODEL/CLIP-only slots. Preserve captured CLIP biases and emit stock-loadable CLIP export aliases. Remove the Legacy optimizer registration, both WanVideoWrapper-specific nodes, obsolete bridge UI and bundled legacy example. Document replacements and add stock-loader/file-stack/export parity checks to CI. Existing workflows using removed nodes require migration. Validate the staged tree: 1064 Python tests and 69 subtests passed; 3 CUDA-only skipped; JS migrations and real ComfyUI round trips passed. Keep the rejected H3 search prototype and unrelated plans out of this release.
22 lines
1.1 KiB
Python
22 lines
1.1 KiB
Python
"""Retired nodes must not return to the menu or generated node schemas."""
|
|
from tests.test_lora_optimizer import lora_optimizer as m
|
|
|
|
|
|
def test_retired_nodes_are_not_registered():
|
|
removed = {"LoRAOptimizer", "WanVideoLoRAOptimizer", "MergedLoRAToWanVideo"}
|
|
assert removed.isdisjoint(m.NODE_CLASS_MAPPINGS)
|
|
assert removed.isdisjoint(m.NODE_DISPLAY_NAME_MAPPINGS)
|
|
assert set(m.NODE_CLASS_MAPPINGS) == set(m.NODE_DISPLAY_NAME_MAPPINGS)
|
|
assert not any("Legacy" in name or "WanVideo" in name
|
|
for name in m.NODE_DISPLAY_NAME_MAPPINGS.values())
|
|
|
|
|
|
def test_shared_engine_and_supported_nodes_remain_available():
|
|
assert m.NODE_CLASS_MAPPINGS["LoRAOptimizerSimple"] is m.LoRAOptimizerSimple
|
|
assert m.NODE_CLASS_MAPPINGS["LoRAOptimizerInline"] is m.LoRAOptimizerInline
|
|
assert m.NODE_CLASS_MAPPINGS["LoRAAutoTuner"] is m.LoRAAutoTuner
|
|
assert m.NODE_CLASS_MAPPINGS["LoRAMergeSelector"] is m.LoRAMergeSelector
|
|
assert issubclass(m.LoRAOptimizerSimple, m.LoRAOptimizer)
|
|
assert not hasattr(m, "WanVideoLoRAOptimizer")
|
|
assert not hasattr(m, "MergedLoRAToWanVideo")
|