Exemplo n.º 1
0
        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");
                }
            });
        }