public void Unified_FailedBuild_ShouldRequireAnotherBuildNotSkipMMP() { RunMMPTest(tmpDir => { foreach (bool xm45 in new bool [] { false, true }) { // First build with a Non-existant file to force us to error inside mmp test TI.UnifiedTestConfig test = new TI.UnifiedTestConfig(tmpDir) { CSProjConfig = "<MonoBundlingExtraArgs>--resource=Foo.bar</MonoBundlingExtraArgs>", XM45 = xm45 }; TI.GenerateAndBuildUnifiedExecutable(test, shouldFail: true); // Next, build again without the error MonoBundlingExtraArgs test.CSProjConfig = ""; TI.GenerateUnifiedExecutableProject(test); // And try again. // If we fail, we'll likely fail with "did not generate an exe" before returning but let's check anyway var secondBuildResult = TI.BuildProject(Path.Combine(tmpDir, TI.GetUnifiedExecutableProjectName(test))); var secondBuildOutput = secondBuildResult.BuildOutput; Assert.IsTrue(!secondBuildOutput.Contains("Skipping target \"_CompileToNative"), "Did not skip"); Assert.IsTrue(secondBuildOutput.Contains("Building target \"_CompileToNative\" completely"), "Did need to build"); } }); }