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 ()
{