fix: recover first-run live config conflicts

This commit is contained in:
2026-07-28 22:04:44 +09:00
parent 818acad646
commit 80b50c80b3
7 changed files with 195 additions and 15 deletions

View File

@@ -63,6 +63,7 @@ public sealed class LegacyFirstRunSetupNativeContractTests
Assert.Contains("Cuts 폴더 선택", buttons);
Assert.Contains("Res 폴더 선택", buttons);
Assert.Contains("기존 Live 설정 교체 후 다시 시도", buttons);
Assert.DoesNotContain("INI 파일 선택", source, StringComparison.Ordinal);
Assert.DoesNotContain("비밀번호", source, StringComparison.Ordinal);
Assert.DoesNotContain("포트 입력", source, StringComparison.Ordinal);
@@ -124,6 +125,10 @@ public sealed class LegacyFirstRunSetupNativeContractTests
var setup = File.ReadAllText(Path.Combine(
AppRoot,
"FirstRunSetupWindow.xaml.cs"));
var initializer = File.ReadAllText(Path.Combine(
RepositoryRoot,
"scripts",
"Initialize-ExistingDevelopmentPc.ps1"));
Assert.Contains(
"await RunVerifiedSetupAsync(",
@@ -178,13 +183,49 @@ public sealed class LegacyFirstRunSetupNativeContractTests
setup,
StringComparison.Ordinal);
Assert.Contains(
"DrainOutputAsync(process.StandardOutput)",
"if (replaceLiveConfig)",
setup,
StringComparison.Ordinal);
Assert.Contains(
"DrainOutputAsync(process.StandardError)",
"AddArgument(\"-ReplaceLiveConfig\")",
setup,
StringComparison.Ordinal);
Assert.DoesNotContain(
"AddArgument(\"-ReplaceRuntimeBinding\")",
setup,
StringComparison.Ordinal);
Assert.DoesNotContain(
"AddArgument(\"-ReplaceK3DPin\")",
setup,
StringComparison.Ordinal);
Assert.Contains(
"CaptureOutputTailAsync(process.StandardOutput)",
setup,
StringComparison.Ordinal);
Assert.Contains(
"CaptureOutputTailAsync(process.StandardError)",
setup,
StringComparison.Ordinal);
Assert.Contains(
"MaximumCapturedOutputCharacters = 16 * 1024",
setup,
StringComparison.Ordinal);
Assert.Contains(
"RunSetupFromUiAsync(replaceLiveConfig: false)",
setup,
StringComparison.Ordinal);
Assert.Contains(
"RunSetupFromUiAsync(replaceLiveConfig: true)",
setup,
StringComparison.Ordinal);
Assert.Contains(
"MBN_SETUP_LIVE_CONFIG_REPLACEMENT_REQUIRED",
setup,
StringComparison.Ordinal);
Assert.Contains(
"[MBN_SETUP_LIVE_CONFIG_REPLACEMENT_REQUIRED]",
initializer,
StringComparison.Ordinal);
Assert.Contains(
"loaded.Settings.SceneDirectory",
setup,

View File

@@ -851,7 +851,7 @@ public sealed class LegacyRuntimeAssetDeploymentContractTests
initializer,
StringComparison.Ordinal);
Assert.Contains(
"Existing Development Live files differ from the exact requested",
"[MBN_SETUP_LIVE_CONFIG_REPLACEMENT_REQUIRED]",
initializer,
StringComparison.Ordinal);