From 2bd68f14d0e09e0b94e1c5e4dd3359dad6a7fe6d Mon Sep 17 00:00:00 2001 From: David Sarno Date: Fri, 24 Oct 2025 11:52:57 -0700 Subject: [PATCH] tests(editmode): pre-create texture asset in texture assignment test for CI stability --- .../Tests/EditMode/MCPToolParameterTests.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/TestProjects/UnityMCPTests/Assets/Tests/EditMode/MCPToolParameterTests.cs b/TestProjects/UnityMCPTests/Assets/Tests/EditMode/MCPToolParameterTests.cs index cb9395ef..e18c014d 100644 --- a/TestProjects/UnityMCPTests/Assets/Tests/EditMode/MCPToolParameterTests.cs +++ b/TestProjects/UnityMCPTests/Assets/Tests/EditMode/MCPToolParameterTests.cs @@ -393,6 +393,22 @@ public void Test_ManageAsset_JSONStringParsing_TextureAssignment_CreateAndModify var matPath = $"{tempDir}/JsonTexTest_{Guid.NewGuid().ToString("N")}.mat"; var texPath = "Assets/Temp/LiveTests/TempBaseTex.asset"; // created by GenTempTex + // Ensure the texture exists BEFORE creating the material so assignment succeeds during create + var preTex = AssetDatabase.LoadAssetAtPath(texPath); + if (preTex == null) + { + if (!AssetDatabase.IsValidFolder("Assets/Temp")) AssetDatabase.CreateFolder("Assets", "Temp"); + if (!AssetDatabase.IsValidFolder("Assets/Temp/LiveTests")) AssetDatabase.CreateFolder("Assets/Temp", "LiveTests"); + var tex2D = new Texture2D(4, 4, TextureFormat.RGBA32, false); + var pixels = new Color[16]; + for (int i = 0; i < pixels.Length; i++) pixels[i] = Color.white; + tex2D.SetPixels(pixels); + tex2D.Apply(); + AssetDatabase.CreateAsset(tex2D, texPath); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + var createParams = new JObject { ["action"] = "create",