feat: turntable + blend export smoke test coverage
- build_graph_turntable_config: accept render_params kwarg so smoke can use low settings (512x512, 24 frames) without touching golden case defaults - add smoke naming + template functions for turntable and blend - add ensure_workflow_turntable_smoke_resources() — provisions output type (mp4/turntable_video) + workflow graph, binds to Blender_Studio_Schadowcatcher_Anim template - add ensure_workflow_blend_smoke_resources() — provisions output type (blend/blend_asset) + workflow graph, binds to BlenderStudio template - add test_workflow_turntable_smoke() — preflight + dispatch + run tracking - add test_workflow_blend_smoke() — preflight + dispatch + blend node check - 6 new harness unit tests (17 total, all passing), using real asset: cad_file_id 8dd73335 (81113-l_cut.stp, has USD master + GLB) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -227,6 +227,63 @@ def test_workflow_smoke_template_name_maps_supported_modes_to_blenderstudio():
|
||||
assert module.workflow_smoke_template_name("turntable") is None
|
||||
|
||||
|
||||
def test_smoke_turntable_output_type_name_includes_variant_and_mode():
|
||||
module = _load_render_pipeline_script()
|
||||
|
||||
name = module.smoke_turntable_output_type_name("graph")
|
||||
|
||||
assert "Turntable" in name
|
||||
assert "Graph" in name
|
||||
assert name.startswith("[Workflow Smoke]")
|
||||
|
||||
|
||||
def test_workflow_smoke_turntable_template_name_returns_animation_template_for_graph():
|
||||
module = _load_render_pipeline_script()
|
||||
|
||||
assert module.workflow_smoke_turntable_template_name("graph") == "Blender_Studio_Schadowcatcher_Anim"
|
||||
assert module.workflow_smoke_turntable_template_name("shadow") == "Blender_Studio_Schadowcatcher_Anim"
|
||||
assert module.workflow_smoke_turntable_template_name("legacy") is None
|
||||
|
||||
|
||||
def test_workflow_smoke_blend_template_name_returns_blenderstudio():
|
||||
module = _load_render_pipeline_script()
|
||||
|
||||
assert module.workflow_smoke_blend_template_name() == "BlenderStudio"
|
||||
|
||||
|
||||
def test_build_graph_turntable_config_accepts_render_params_override():
|
||||
module = _load_render_pipeline_script()
|
||||
|
||||
config = module.build_graph_turntable_config(
|
||||
execution_mode="graph",
|
||||
render_params={"width": 512, "height": 512, "fps": 12, "duration_s": 2, "samples": 16},
|
||||
)
|
||||
|
||||
turntable_node = next(node for node in config["nodes"] if node["id"] == "turntable")
|
||||
assert turntable_node["params"]["width"] == 512
|
||||
assert turntable_node["params"]["height"] == 512
|
||||
assert turntable_node["params"]["fps"] == 12
|
||||
assert turntable_node["params"]["duration_s"] == 2
|
||||
assert turntable_node["params"]["samples"] == 16
|
||||
|
||||
|
||||
def test_build_graph_turntable_config_defaults_unchanged_without_render_params():
|
||||
module = _load_render_pipeline_script()
|
||||
|
||||
config = module.build_graph_turntable_config(execution_mode="graph")
|
||||
|
||||
turntable_node = next(node for node in config["nodes"] if node["id"] == "turntable")
|
||||
assert turntable_node["params"]["width"] == 768
|
||||
assert turntable_node["params"]["height"] == 768
|
||||
|
||||
|
||||
def test_smoke_blend_output_type_name_is_stable():
|
||||
module = _load_render_pipeline_script()
|
||||
|
||||
assert module.smoke_blend_output_type_name() == "[Workflow Smoke] Blend Export"
|
||||
assert module.smoke_blend_workflow_name() == "[Workflow Smoke] Blend Export"
|
||||
|
||||
|
||||
def test_ensure_output_type_render_template_binding_moves_output_type_to_preferred_template():
|
||||
module = _load_render_pipeline_script()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user