Imported Upstream version 4.8.0.371

Former-commit-id: 1cedda3b6a8e480191a7a40a8dc33eb078fba58b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-11-28 21:01:12 +00:00
parent 62edeef69b
commit 069517201b
48 changed files with 181 additions and 50 deletions

View File

@ -284,6 +284,51 @@ namespace MonoTests.Microsoft.Build.BuildEngine {
t [0].RemoveTask (null);
}
[Test]
public void TestRunTargetTwice ()
{
string documentString = @"<Project xmlns=""http://schemas.microsoft.com/developer/msbuild/2003"">
<Target Name=""Foo"">
<Message Text=""Foo ran""/>
</Target>
<Target Name=""Main"">
<MSBuild Projects=""$(MSBuildProjectFile)"" Targets=""Foo;Foo"" />
</Target>
</Project>";
var filepath = Path.GetTempFileName ();
try {
File.WriteAllText (filepath, documentString);
var engine = new Engine (Consts.BinPath);
var project = engine.CreateNewProject ();
project.Load (filepath);
var logger = new TestMessageLogger ();
engine.RegisterLogger (logger);
var result = project.Build ("Main");
if (!result) {
logger.DumpMessages ();
Assert.Fail ("Build failed, see the logs");
}
Assert.AreEqual(1, logger.NormalMessageCount, "Expected number of messages");
logger.CheckLoggedMessageHead ("Foo ran", "A1");
Assert.AreEqual(0, logger.NormalMessageCount, "Extra messages found");
Assert.AreEqual(0, logger.WarningMessageCount, "Extra warning messages found");
Assert.AreEqual(2, logger.TargetStarted, "TargetStarted count");
Assert.AreEqual(2, logger.TargetFinished, "TargetFinished count");
Assert.IsTrue (result);
} finally {
File.Delete (filepath);
}
}
[Test]
public void TestTargetOutputs1 ()
{