X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMicrosoft.Build.Engine%2FTest%2FMicrosoft.Build.BuildEngine%2FTargetTest.cs;h=d36ae158701c0db1fa8a9243e154b77e399d63bd;hb=9572e2a3e3c255d96ddc4a16b7f8819227b8ba5e;hp=459bb66e6d5cd3cde9d2007433d0e8aaecb1a480;hpb=a5fc1343a36f9609a5bb2d7aa9142398f6887bbc;p=mono.git diff --git a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs index 459bb66e6d5..d36ae158701 100644 --- a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs +++ b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs @@ -285,6 +285,51 @@ namespace MonoTests.Microsoft.Build.BuildEngine { t [0].RemoveTask (null); } + [Test] + public void TestRunTargetTwice () + { + string documentString = @" + + + + + + + + "; + + 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 () { @@ -698,6 +743,33 @@ namespace MonoTests.Microsoft.Build.BuildEngine { ", "D"); } + [Test] + public void ItemGroupInsideTarget_UpdateMetadata () + { + ItemGroupInsideTarget ( + @" + + + + + + + + + A=b + + + + + + + + Bar01 + + + ", 2, "Before: Bar01", "After: Bar01"); + } + [Test] public void ItemGroupInsideTarget_Batching () {