X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMono.Debugger.Soft%2FTest%2Fdtest.cs;h=e51cdc061a0accf8d07308fa4bbf81ffa194a440;hb=f03a1b538bfb0d9be810688e8713731e122320b5;hp=0076f9f340b531355ce8f3f88f657c67a4c9f896;hpb=811674bc6331c98d33134e2a37a7c7dd66402227;p=mono.git diff --git a/mcs/class/Mono.Debugger.Soft/Test/dtest.cs b/mcs/class/Mono.Debugger.Soft/Test/dtest.cs index 0076f9f340b..e51cdc061a0 100644 --- a/mcs/class/Mono.Debugger.Soft/Test/dtest.cs +++ b/mcs/class/Mono.Debugger.Soft/Test/dtest.cs @@ -526,7 +526,11 @@ public class DebuggerTests e = step_over (); assert_location (e, "ss_nested"); e = step_into (); - assert_location (e, "ss_nested_3"); + assert_location (e, "ss_nested_1"); + e = step_into (); + assert_location (e, "ss_nested_1"); + e = step_into (); + assert_location (e, "ss_nested"); req.Disable (); // Check DebuggerStepThrough support @@ -1515,8 +1519,8 @@ public class DebuggerTests StackFrame frame = e.Thread.GetFrames () [0]; var locals = frame.Method.GetLocals (); - Assert.AreEqual (8, locals.Length); - for (int i = 0; i < 8; ++i) { + Assert.AreEqual (9, locals.Length); + for (int i = 0; i < 9; ++i) { if (locals [i].Name == "args") { Assert.IsTrue (locals [i].IsArg); Assert.AreEqual ("String[]", locals [i].Type.Name); @@ -1540,6 +1544,7 @@ public class DebuggerTests Assert.IsTrue (locals [i].IsArg); Assert.AreEqual ("String", locals [i].Type.Name); } else if (locals [i].Name == "astruct") { + } else if (locals [i].Name == "alist") { } else { Assert.Fail (); } @@ -1624,6 +1629,8 @@ public class DebuggerTests AssertValue ("AB", vals [i]); if (locals [i].Name == "t") AssertValue ("ABC", vals [i]); + if (locals [i].Name == "alist") { + } } // Argument checking @@ -2266,6 +2273,17 @@ public class DebuggerTests task = s.InvokeMethodAsyncWithResult (e.Thread, m, null); out_this = task.Result.OutThis as StructMirror; Assert.AreEqual (null, out_this); + + // interface method + var cl1 = frame.Method.DeclaringType.Assembly.GetType ("ITest2"); + m = cl1.GetMethod ("invoke_iface"); + v = s.InvokeMethod (e.Thread, m, null); + AssertValue (42, v); + + // virtual method + m = vm.RootDomain.Corlib.GetType ("System.Object").GetMethod ("ToString"); + v = s.InvokeMethod (e.Thread, m, null, InvokeOptions.Virtual); + AssertValue ("42", v); #endif }