diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Debugger.Tests.csproj b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Debugger.Tests.csproj index af1f7ab9e7..fcbad7e9b2 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Debugger.Tests.csproj +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Debugger.Tests.csproj @@ -46,7 +46,6 @@ - @@ -56,13 +55,10 @@ - - - - + @@ -89,11 +85,7 @@ - - - - - + diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugType.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugType.cs index 46de958160..967c340bf4 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugType.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/DebugType.cs @@ -21,36 +21,26 @@ namespace Debugger.Tests.TestPrograms // The classes are intentionally nested for testing - public class MyClass - { - } + public enum MyEnum: byte { A, B } - public class MyGenClass + public class MyClass { - public class MyNestedClass - { - } - public class MyGenNestedClass - { - } } public struct MyStruct { } - public struct MyGenStruct + public class MyGenClass { + public struct MyNestedStruct + { + } public struct MyGenNestedStruct { } } - public enum MyEnum: byte - { - A, B - } - public interface MyInterface { R Fun(A a, B b, M m); @@ -62,6 +52,8 @@ namespace Debugger.Tests.TestPrograms public List Prop { get { return new List(); } } + public char SetterOnlyProp { set { ; } } + public R Fun(MyClass a, MyStruct b, M m) { throw new NotImplementedException(); @@ -109,15 +101,9 @@ namespace Debugger.Tests.TestPrograms // Generic class MyGenClass myGenClass_int = new MyGenClass(); MyGenClass[] array_MyGenClass_int = new MyGenClass[] {}; - MyGenClass> myGenClass_MyGenStruct_int = new MyGenClass>(); - MyGenClass.MyNestedClass myNestedClass = new MyGenClass.MyNestedClass(); - MyGenClass.MyGenNestedClass myGenNestedClass = new MyGenClass.MyGenNestedClass(); - - // Generic struct - MyGenStruct myGenStruct_int = new MyGenStruct(); - MyGenStruct[] array_MyGenStruct_int = new MyGenStruct[] {}; - MyGenStruct> myGenStruct_MyGenClass_int = new MyGenStruct>(); - MyGenStruct.MyGenNestedStruct myGenNestedStruct = new MyGenStruct.MyGenNestedStruct(); + MyGenClass myGenClass_Nullable_int = new MyGenClass(); + MyGenClass.MyNestedStruct myNestedStruct = new MyGenClass.MyNestedStruct(); + MyGenClass.MyGenNestedStruct myGenNestedStruct = new MyGenClass.MyGenNestedStruct(); // Generic interface MyInterfaceImpl myInterfaceImpl = new MyInterfaceImpl(); @@ -223,20 +209,18 @@ namespace Debugger.Tests { mscorlib.dll (No symbols) DebugType.exe (Has symbols) - Break DebugType.cs:138,4-138,40 + Break DebugType.cs:124,4-124,40 + Count="11"> Debugger.Tests.TestPrograms.DebugType AddDelegate + MyEnum MyClass - MyGenClass`1 - MyNestedClass - MyGenNestedClass`1 MyStruct - MyGenStruct`1 + MyGenClass`1 + MyNestedStruct MyGenNestedStruct`1 - MyEnum MyInterface`3 MyInterfaceImpl`1 Access @@ -267,6 +251,20 @@ namespace Debugger.Tests { null + + + null + + null - - - null - - + + + + + + + Name="myGenClass_Nullable_int" + Type="Debugger.Tests.TestPrograms.DebugType[[System.Nullable`1[[System.Int32]]]].MyGenClass`1[[System.Nullable`1[[System.Int32]]]]" + Value="{Debugger.Tests.TestPrograms.DebugType[[System.Nullable`1[[System.Int32]]]].MyGenClass`1[[System.Nullable`1[[System.Int32]]]]}"> - - - null - - - - - - - - - null - - - - - - + Name="myNestedStruct" + Type="Debugger.Tests.TestPrograms.DebugType[[System.Int32]].MyGenClass`1[[System.Int32]].MyNestedStruct[[System.Int32]]" + Value="{Debugger.Tests.TestPrograms.DebugType[[System.Int32]].MyGenClass`1[[System.Int32]].MyNestedStruct[[System.Int32]]}"> - - - - - - - null - - - - - - - - - - - null - - - - + Type="Debugger.Tests.TestPrograms.DebugType[[System.Int32, System.Char]].MyGenClass`1[[System.Int32, System.Char]].MyGenNestedStruct`1[[System.Int32, System.Char]]" + Value="{Debugger.Tests.TestPrograms.DebugType[[System.Int32, System.Char]].MyGenClass`1[[System.Int32, System.Char]].MyGenNestedStruct`1[[System.Int32, System.Char]]}"> null diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ExpressionEvaluator.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ExpressionEvaluator.cs index 3d6a18b684..34c10a6586 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ExpressionEvaluator.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ExpressionEvaluator.cs @@ -20,7 +20,7 @@ namespace Debugger.Tests.TestPrograms get { return name; } } - public static string StaticValue = "base static value"; + public static string StaticField = "base static field"; public string Foo(int i) { @@ -36,7 +36,15 @@ namespace Debugger.Tests.TestPrograms get { return name; } } - new public static string StaticValue = "derived static value"; + public char SetterOnlyProperty { set { ; } } + + new public static string StaticField = "derived static field"; + + public static string StaticProperty { + get { + return "static"; + } + } new public string Foo(int i) { @@ -191,7 +199,7 @@ namespace Debugger.Tests { mscorlib.dll (No symbols) ExpressionEvaluator.exe (Has symbols) - Break ExpressionEvaluator.cs:69,4-69,40 + Break ExpressionEvaluator.cs:77,4-77,40 b = 1 i = 4 @@ -240,10 +248,12 @@ namespace Debugger.Tests { !flag = False ((Debugger.Tests.TestPrograms.DerivedClass)(myClass)).name = "derived name" - Debugger.Tests.TestPrograms.DerivedClass.StaticValue = Error evaluating "Debugger.Tests.TestPrograms.DerivedClass.StaticValue": Identifier "Debugger" not found in this context + Debugger.Tests.TestPrograms.DerivedClass.StaticField = Error evaluating "Debugger.Tests.TestPrograms.DerivedClass.StaticField": Identifier "Debugger" not found in this context ((Debugger.Tests.TestPrograms.DerivedClass)(myClass)).Name = "derived name" + ((Debugger.Tests.TestPrograms.DerivedClass)(myClass)).SetterOnlyProperty = Error evaluating "((Debugger.Tests.TestPrograms.DerivedClass)(myClass)).SetterOnlyProperty": Property does not have a get method + Debugger.Tests.TestPrograms.DerivedClass.StaticProperty = Error evaluating "Debugger.Tests.TestPrograms.DerivedClass.StaticProperty": Identifier "Debugger" not found in this context ((Debugger.Tests.TestPrograms.BaseClass)(myClass)).name = "base name" - Debugger.Tests.TestPrograms.BaseClass.StaticValue = Error evaluating "Debugger.Tests.TestPrograms.BaseClass.StaticValue": Identifier "Debugger" not found in this context + Debugger.Tests.TestPrograms.BaseClass.StaticField = Error evaluating "Debugger.Tests.TestPrograms.BaseClass.StaticField": Identifier "Debugger" not found in this context ((Debugger.Tests.TestPrograms.BaseClass)(myClass)).Name = "base name" ((Debugger.Tests.TestPrograms.BaseClass)(myClass)).Foo((System.Int32)(1)) = "base Foo - int" ((Debugger.Tests.TestPrograms.DerivedClass)(myClass)).Foo((System.Int32)(1)) = "derived Foo - int" diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ValueTest.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ValueTest.cs new file mode 100644 index 0000000000..ed5715cf9d --- /dev/null +++ b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ValueTest.cs @@ -0,0 +1,128 @@ +// +// +// +// +// $Revision$ +// + +using System; + +namespace Debugger.Tests.TestPrograms +{ + public class ValueTest + { + public static void Main() + { + bool b = true; + int i = 5; + string s = "five"; + double d = 5.5; + int[,] array = new int[2,2]; + array[0,0] = 0; + array[0,1] = 1; + array[1,0] = 2; + array[1,1] = 3; + + System.Diagnostics.Debugger.Break(); + } + } +} + +#if TEST_CODE +namespace Debugger.Tests { + public partial class DebuggerTests + { + [NUnit.Framework.Test] + public void ValueTest() + { + StartTest("ValueTest.cs"); + + PrintLocalVariables(); + + Value array = process.SelectedStackFrame.GetLocalVariableValue("array").GetPermanentReference(); + ObjectDump("array.Length", array.GetMemberValue("Length")); + ObjectDump("array elements", array.GetArrayElements()); + + EndTest(); + } + } +} +#endif + +#if EXPECTED_OUTPUT + + + + + mscorlib.dll (No symbols) + ValueTest.exe (Has symbols) + Break ValueTest.cs:26,4-26,40 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +#endif // EXPECTED_OUTPUT \ No newline at end of file diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Array.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Array.cs deleted file mode 100644 index 969ce3f733..0000000000 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Array.cs +++ /dev/null @@ -1,138 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; - -namespace Debugger.Tests.TestPrograms -{ - public class Value_Array - { - public static void Main() - { - int[] array = new int[5]; - for(int i = 0; i < 5; i++) { - array[i] = i; - } - System.Diagnostics.Debugger.Break(); - } - } -} - -#if TEST_CODE -namespace Debugger.Tests { - public partial class DebuggerTests - { - [NUnit.Framework.Test] - public void Value_Array() - { - ExpandProperties( - "DebugType.BaseType" - ); - StartTest("Value_Array.cs"); - - Value array = process.SelectedStackFrame.GetLocalVariableValue("array"); - ObjectDump("array", array); - ObjectDump("array elements", array.GetArrayElements()); - ObjectDump("type", array.Type); - ObjectDump("array.Length", array.GetMemberValue("Length")); - - EndTest(); - } - } -} -#endif - -#if EXPECTED_OUTPUT - - - - - mscorlib.dll (No symbols) - Value_Array.exe (Has symbols) - Break Value_Array.cs:20,4-20,40 - - - - - - - - - - - - - - - - - - - - - - - - - - - null - - - - - - - - - - - - -#endif // EXPECTED_OUTPUT \ No newline at end of file diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_GenericDictionary.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_GenericDictionary.cs deleted file mode 100644 index ae73939c28..0000000000 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_GenericDictionary.cs +++ /dev/null @@ -1,177 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; -using System.Collections.Generic; - -namespace Debugger.Tests.TestPrograms -{ - public class Value_GenericDictionary - { - public static void Main() - { - Dictionary dict = new Dictionary(); - dict.Add("one",1); - dict.Add("two",2); - dict.Add("three",3); - System.Diagnostics.Debugger.Break(); - } - } -} - -#if TEST_CODE -namespace Debugger.Tests { - using Debugger.MetaData; - - public partial class DebuggerTests - { - [NUnit.Framework.Test] - public void Value_GenericDictionary() - { - StartTest("Value_GenericDictionary.cs"); - - ObjectDump("dict", process.SelectedStackFrame.GetLocalVariableValue("dict")); - ObjectDump("dict members", process.SelectedStackFrame.GetLocalVariableValue("dict").GetMemberValues()); - - EndTest(); - } - } -} -#endif - -#if EXPECTED_OUTPUT - - - - - mscorlib.dll (No symbols) - Value_GenericDictionary.exe (Has symbols) - Break Value_GenericDictionary.cs:21,4-21,40 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#endif // EXPECTED_OUTPUT \ No newline at end of file diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Object.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Object.cs deleted file mode 100644 index abb320739d..0000000000 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Object.cs +++ /dev/null @@ -1,168 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; - -namespace Debugger.Tests.TestPrograms -{ - public class BaseClass2 - { - public string basePublic = "a"; - string basePrivate = "b"; - } - - public class Value_Object: BaseClass2 - { - string privateField = "c"; - public string publicFiled = "d"; - - public string PublicProperty { - get { - return privateField; - } - } - - public static void Main() - { - Value_Object val = new Value_Object(); - System.Diagnostics.Debugger.Break(); - val.privateField = "new private"; - System.Diagnostics.Debugger.Break(); - } - } -} - -#if TEST_CODE -namespace Debugger.Tests { - using Debugger.MetaData; - - public partial class DebuggerTests - { - [NUnit.Framework.Test] - public void Value_Object() - { - Value val = null; - - StartTest("Value_Object.cs"); - - val = process.SelectedStackFrame.GetLocalVariableValue("val"); - ObjectDump("val", val); - ObjectDump("val members", val.GetMemberValues()); - - process.Continue(); - val = process.SelectedStackFrame.GetLocalVariableValue("val"); - ObjectDump("val", val); - ObjectDump("val members", val.GetMemberValues()); - - EndTest(); - } - } -} -#endif - -#if EXPECTED_OUTPUT - - - - - mscorlib.dll (No symbols) - Value_Object.exe (Has symbols) - Break Value_Object.cs:32,4-32,40 - - - - - - - - - - - - - - - - - - - - - Break Value_Object.cs:34,4-34,40 - - - - - - - - - - - - - - - - - - - - - - - -#endif // EXPECTED_OUTPUT \ No newline at end of file diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Primitive.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Primitive.cs deleted file mode 100644 index 6cf8c1abc1..0000000000 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Primitive.cs +++ /dev/null @@ -1,170 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; - -namespace Debugger.Tests.TestPrograms -{ - public class Value_Primitive - { - public static void Main() - { - bool b = true; - int i = 5; - string s = "five"; - double d = 5.5; - System.Diagnostics.Debugger.Break(); - } - } -} - -#if TEST_CODE -namespace Debugger.Tests { - public partial class DebuggerTests - { - [NUnit.Framework.Test] - public void Value_Primitive() - { - ExpandProperties( - "Value.Type", - "DebugType.BaseType" - ); - StartTest("Value_Primitive.cs"); - - ObjectDump("locals", process.SelectedStackFrame.GetLocalVariableValues()); - // Test System.Object access - ObjectDump("b as string", process.SelectedStackFrame.GetLocalVariableValue("b").InvokeToString()); - ObjectDump("i as string", process.SelectedStackFrame.GetLocalVariableValue("i").InvokeToString()); - ObjectDump("s as string", process.SelectedStackFrame.GetLocalVariableValue("s").InvokeToString()); - - EndTest(); - } - } -} -#endif - -#if EXPECTED_OUTPUT - - - - - mscorlib.dll (No symbols) - Value_Primitive.exe (Has symbols) - Break Value_Primitive.cs:20,4-20,40 - - - - - - - - null - - - - - - - - - - - - - null - - - - - - - - - - - - - null - - - - - - - - - - - - - null - - - - - - - - True - 5 - five - - - -#endif // EXPECTED_OUTPUT \ No newline at end of file diff --git a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Property.cs b/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Property.cs deleted file mode 100644 index 8b91c4b3bb..0000000000 --- a/src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Value_Property.cs +++ /dev/null @@ -1,92 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; - -namespace Debugger.Tests.TestPrograms -{ - public class Value_Property - { - string PrivateProperty { - get { - return "private"; - } - } - - public string PublicProperty { - get { - return "public"; - } - } - - public string ExceptionProperty { - get { - throw new NotSupportedException(); - } - } - - public static string StaticProperty { - get { - return "static"; - } - } - - public static void Main() - { - Value_Property var = new Value_Property(); - System.Diagnostics.Debugger.Break(); - System.Diagnostics.Debugger.Break(); - } - } -} - -#if TEST_CODE -namespace Debugger.Tests { - public partial class DebuggerTests - { - /* - [NUnit.Framework.Test] - public void PropertyVariable() - { - StartProgram("PropertyVariable.cs"); - WaitForPause(); - NamedValueCollection props = process.SelectedFunction.LocalVariables["var"].GetMembers(null, Debugger.BindingFlags.All); - - Assert.AreEqual(typeof(UnavailableValue), props["PrivateProperty"].Value.GetType()); - process.StartEvaluation(); - WaitForPause(); - Assert.AreEqual("private", props["PrivateProperty"].AsString); - - Assert.AreEqual(typeof(UnavailableValue), props["PublicProperty"].Value.GetType()); - process.StartEvaluation(); - WaitForPause(); - Assert.AreEqual("public", props["PublicProperty"].AsString); - - Assert.AreEqual(typeof(UnavailableValue), props["ExceptionProperty"].Value.GetType()); - process.StartEvaluation(); - WaitForPause(); - Assert.AreEqual(typeof(UnavailableValue), props["ExceptionProperty"].Value.GetType()); - - Assert.AreEqual(typeof(UnavailableValue), props["StaticProperty"].Value.GetType()); - process.StartEvaluation(); - WaitForPause(); - Assert.AreEqual("static", props["StaticProperty"].AsString); - - process.Continue(); - WaitForPause(PausedReason.Break, null); - - process.Continue(); - process.WaitForPrecessExit(); - CheckXmlOutput(); - } - */ - } -} -#endif - -#if EXPECTED_OUTPUT -#endif // EXPECTED_OUTPUT \ No newline at end of file