Author: martin
Date: 2008-01-25 15:15:18 -0500 (Fri, 25 Jan 2008)
New Revision: 93955
Added:
branches/martin/debugger-terrania/debugger/test/src/TestRecursiveGenerics.cs
branches/martin/debugger-terrania/debugger/test/testsuite/TestRecursiveGenerics.cs
Modified:
branches/martin/debugger-terrania/debugger/ChangeLog
branches/martin/debugger-terrania/debugger/test/src/Makefile.am
Log:
2008-01-25 Martin Baulig <[EMAIL PROTECTED]>
* test/{testsuite|src}/TestRecursiveGenerics.cs: New test.
Modified: branches/martin/debugger-terrania/debugger/ChangeLog
===================================================================
--- branches/martin/debugger-terrania/debugger/ChangeLog 2008-01-25
20:09:04 UTC (rev 93954)
+++ branches/martin/debugger-terrania/debugger/ChangeLog 2008-01-25
20:15:18 UTC (rev 93955)
@@ -1,5 +1,9 @@
2008-01-25 Martin Baulig <[EMAIL PROTECTED]>
+ * test/{testsuite|src}/TestRecursiveGenerics.cs: New test.
+
+2008-01-25 Martin Baulig <[EMAIL PROTECTED]>
+
Fix the parent type madness.
* languages/TargetClass.cs
Modified: branches/martin/debugger-terrania/debugger/test/src/Makefile.am
===================================================================
--- branches/martin/debugger-terrania/debugger/test/src/Makefile.am
2008-01-25 20:09:04 UTC (rev 93954)
+++ branches/martin/debugger-terrania/debugger/test/src/Makefile.am
2008-01-25 20:15:18 UTC (rev 93955)
@@ -12,7 +12,7 @@
TestBreakpoint.cs TestNamespace.cs TestException.cs \
TestRestart.cs TestExec.cs TestChild.cs TestAttach.cs \
TestMethodLookup.cs TestMultiThread.cs TestSession.cs \
- TestCCtor.cs TestSimpleGenerics.cs
+ TestCCtor.cs TestSimpleGenerics.cs TestRecursiveGenerics.cs
EXTRA_TEST_SRC = \
TestAppDomain.cs TestAppDomain-Module.cs TestAppDomain-Hello.cs \
Added:
branches/martin/debugger-terrania/debugger/test/src/TestRecursiveGenerics.cs
===================================================================
---
branches/martin/debugger-terrania/debugger/test/src/TestRecursiveGenerics.cs
2008-01-25 20:09:04 UTC (rev 93954)
+++
branches/martin/debugger-terrania/debugger/test/src/TestRecursiveGenerics.cs
2008-01-25 20:15:18 UTC (rev 93955)
@@ -0,0 +1,28 @@
+using System;
+
+public class Foo<T>
+{
+ public T Data;
+
+ public void Hello ()
+ {
+ Console.WriteLine (Data);
+ }
+}
+
+public class Test : Foo<Test>
+{
+ public Test ()
+ {
+ Data = this;
+ }
+}
+
+class X
+{
+ static void Main ()
+ {
+ Test test = new Test ();
+ test.Hello ();
+ }
+}
Added:
branches/martin/debugger-terrania/debugger/test/testsuite/TestRecursiveGenerics.cs
===================================================================
---
branches/martin/debugger-terrania/debugger/test/testsuite/TestRecursiveGenerics.cs
2008-01-25 20:09:04 UTC (rev 93954)
+++
branches/martin/debugger-terrania/debugger/test/testsuite/TestRecursiveGenerics.cs
2008-01-25 20:15:18 UTC (rev 93955)
@@ -0,0 +1,45 @@
+using System;
+using NUnit.Framework;
+
+using Mono.Debugger;
+using Mono.Debugger.Languages;
+using Mono.Debugger.Frontend;
+
+namespace Mono.Debugger.Tests
+{
+ [TestFixture]
+ public class TestRecursiveGenerics : TestSuite
+ {
+ public TestRecursiveGenerics ()
+ : base ("TestRecursiveGenerics")
+ { }
+
+ const int LineMain = 25;
+
+ [Test]
+ [Category("Generics")]
+ public void Main ()
+ {
+ Process process = Start ();
+ Assert.IsTrue (process.IsManaged);
+ Assert.IsTrue (process.MainThread.IsStopped);
+
+ Thread thread = process.MainThread;
+
+ AssertStopped (thread, "X.Main()", LineMain);
+
+ AssertType (thread, "test",
+ "class Test : Foo`1<Test>\n{\n .ctor
();\n}");
+
+ AssertExecute ("next");
+ AssertStopped (thread, "X.Main()", LineMain + 1);
+
+ AssertPrintRegex (thread, DisplayFormat.Object, "test",
+ @"\(Test\) { <Foo`1<Test>> = { Data =
\(Test\) 0x[0-9a-f]+ } }");
+
+ AssertExecute ("continue");
+ AssertTargetOutput ("Test");
+ AssertTargetExited (thread.Process);
+ }
+ }
+}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches