Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres G. Aragoneses <knocte@gmail.com>2012-09-17 15:27:35 +0400
committerAndres G. Aragoneses <knocte@gmail.com>2012-09-17 15:27:35 +0400
commit8ed93b10f0f4f977cee3dfe4d2ca957c6ebe8a3d (patch)
treee5bf95ecf7f17bfe3330bf0a7c96be8cd0ffe112 /mcs/class/Microsoft.Build.Engine
parent93df61b31500d81e709b6f8ab5dc8f3f600f0b91 (diff)
[Microsoft.Build.Engine] Add a testcase for bxc#1862
Marking the test as [Category("NotWorking")]
Diffstat (limited to 'mcs/class/Microsoft.Build.Engine')
-rw-r--r--mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs3
-rw-r--r--mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs33
2 files changed, 35 insertions, 1 deletions
diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs
index 64da760c9a9..378348c1f4a 100644
--- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs
+++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Target.cs
@@ -77,7 +77,8 @@ namespace Microsoft.Build.BuildEngine {
"The element <OnError> must be last under element <Target>. Found element <Error> instead.");
#if NET_3_5
else if (xe.Name == "ItemGroup") {
- //allow ItemGroups inside Targets in >= 3.5
+ //don't blow up for ItemGroups inside Targets in >= 3.5
+ // TODO: evaluate them (see https://bugzilla.xamarin.com/show_bug.cgi?id=1862 and test in TargetTest.cs )
continue;
}
#endif
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 dc5a56b024b..9a40fd342a8 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
@@ -352,6 +352,10 @@ namespace MonoTests.Microsoft.Build.BuildEngine {
[Test]
public void BuildProjectWithItemGroupInsideTarget()
{
+ ItemGroupInsideATarget ();
+ }
+
+ private MonoTests.Microsoft.Build.Tasks.TestMessageLogger ItemGroupInsideATarget() {
var engine = new Engine(Consts.BinPath);
var project = engine.CreateNewProject();
var projectXml = GetProjectXmlWithItemGroupInsideATarget ();
@@ -367,6 +371,8 @@ namespace MonoTests.Microsoft.Build.BuildEngine {
logger.DumpMessages ();
Assert.Fail("Build failed");
}
+
+ return logger;
}
private string GetProjectXmlWithItemGroupInsideATarget ()
@@ -386,6 +392,33 @@ namespace MonoTests.Microsoft.Build.BuildEngine {
</Target>
</Project>";
}
+
+ [Test]
+ [Category ("NotWorking")] //https://bugzilla.xamarin.com/show_bug.cgi?id=1862
+ public void BuildProjectOutputWithItemGroupInsideTarget()
+ {
+ var logger = ItemGroupInsideATarget ();
+
+ try
+ {
+ Assert.AreEqual(3, logger.NormalMessageCount, "Expected number of messages");
+ logger.CheckLoggedMessageHead("apple", "A1");
+ logger.CheckLoggedMessageHead("apricot", "A2");
+ logger.CheckLoggedMessageHead("raspberry", "A3");
+ Assert.AreEqual(0, logger.NormalMessageCount, "Extra messages found");
+
+ Assert.AreEqual(1, logger.TargetStarted, "TargetStarted count");
+ Assert.AreEqual(1, logger.TargetFinished, "TargetFinished count");
+ Assert.AreEqual(3, logger.TaskStarted, "TaskStarted count");
+ Assert.AreEqual(3, logger.TaskFinished, "TaskFinished count");
+
+ }
+ catch (AssertionException)
+ {
+ logger.DumpMessages();
+ throw;
+ }
+ }
#endif
[Test]