From b03eea92a99eb52b4c607cabf10a909a416fa812 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Mon, 18 Jul 2016 15:05:45 +0100 Subject: [PATCH] [mono-symbolicate] Add mscorlib stacktrace to tests BCL symbols are now added to tests symbol directories. We now test a stacktrace with stackframes on mscorlib. --- mcs/tools/mono-symbolicate/Makefile | 3 +- .../mono-symbolicate/Test/StackTraceDumper.cs | 5 + .../Test/symbolicate.expected | 126 ++++++++++-------- 3 files changed, 77 insertions(+), 57 deletions(-) diff --git a/mcs/tools/mono-symbolicate/Makefile b/mcs/tools/mono-symbolicate/Makefile index 62dd73f7f22..5d66da23d12 100644 --- a/mcs/tools/mono-symbolicate/Makefile +++ b/mcs/tools/mono-symbolicate/Makefile @@ -43,7 +43,8 @@ PREPARE_OUTDIR = @\ COMPILE = \ $(CSCOMPILE) $(TEST_CS) -out:$(TEST_EXE); \ - $(MONO) $(LIB_PATH)/$(PROGRAM) store-symbols $(MSYM_DIR) $(OUT_DIR) + $(MONO) $(LIB_PATH)/$(PROGRAM) store-symbols $(MSYM_DIR) $(OUT_DIR); \ + $(MONO) $(LIB_PATH)/$(PROGRAM) store-symbols $(MSYM_DIR) $(LIB_PATH); check: test-local diff --git a/mcs/tools/mono-symbolicate/Test/StackTraceDumper.cs b/mcs/tools/mono-symbolicate/Test/StackTraceDumper.cs index 78e2db9a898..726997d2134 100644 --- a/mcs/tools/mono-symbolicate/Test/StackTraceDumper.cs +++ b/mcs/tools/mono-symbolicate/Test/StackTraceDumper.cs @@ -46,6 +46,11 @@ class StackTraceDumper { Catch (() => InnerGenericClass.InnerInnerGenericClass.ThrowException ("Stack trace with 2 inner generic class and generic overload")); Catch (() => InnerGenericClass.InnerInnerGenericClass.ThrowException ("Stack trace with 2 inner generic class and generic overload")); + + Catch (() => { + var d = new Dictionary (); + d.ContainsKey (null); // ArgumentNullException + }); } public static void Catch (Action action) diff --git a/mcs/tools/mono-symbolicate/Test/symbolicate.expected b/mcs/tools/mono-symbolicate/Test/symbolicate.expected index a3cd72acd0e..39d855d4c55 100644 --- a/mcs/tools/mono-symbolicate/Test/symbolicate.expected +++ b/mcs/tools/mono-symbolicate/Test/symbolicate.expected @@ -5,127 +5,141 @@ Stacktrace: System.Exception: Stacktrace with 2 frames at StackTraceDumper.
m__0 () in StackTraceDumper.cs:16 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: at StackTraceDumper.
m__0 () in StackTraceDumper.cs:16 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stacktrace with 3 frames - at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:78 + at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:83 at StackTraceDumper.
m__1 () in StackTraceDumper.cs:18 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:78 + at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:83 at StackTraceDumper.
m__1 () in StackTraceDumper.cs:18 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stacktrace with 4 frames - at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:78 - at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:76 + at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:83 + at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:81 at StackTraceDumper.
m__2 () in StackTraceDumper.cs:20 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:78 - at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:76 + at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:83 + at StackTraceDumper.ThrowException (System.String message, System.Int32 i) in StackTraceDumper.cs:81 at StackTraceDumper.
m__2 () in StackTraceDumper.cs:20 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack frame with method overload using ref parameter - at StackTraceDumper.ThrowException (System.String& message) in StackTraceDumper.cs:70 + at StackTraceDumper.ThrowException (System.String& message) in StackTraceDumper.cs:75 at StackTraceDumper.
m__3 () in StackTraceDumper.cs:24 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper.ThrowException (System.String& message) in StackTraceDumper.cs:70 + at StackTraceDumper.ThrowException (System.String& message) in StackTraceDumper.cs:75 at StackTraceDumper.
m__3 () in StackTraceDumper.cs:24 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack frame with method overload using out parameter - at StackTraceDumper.ThrowException (System.String message, System.Int32& o) in StackTraceDumper.cs:83 + at StackTraceDumper.ThrowException (System.String message, System.Int32& o) in StackTraceDumper.cs:88 at StackTraceDumper.
m__4 () in StackTraceDumper.cs:29 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper.ThrowException (System.String message, System.Int32& o) in StackTraceDumper.cs:83 + at StackTraceDumper.ThrowException (System.String message, System.Int32& o) in StackTraceDumper.cs:88 at StackTraceDumper.
m__4 () in StackTraceDumper.cs:29 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack frame with 1 generic parameter - at StackTraceDumper.ThrowExceptionGeneric[T] (System.String message) in StackTraceDumper.cs:88 + at StackTraceDumper.ThrowExceptionGeneric[T] (System.String message) in StackTraceDumper.cs:93 at StackTraceDumper.
m__5 () in StackTraceDumper.cs:32 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper.ThrowExceptionGeneric[T] (System.String message) in StackTraceDumper.cs:88 + at StackTraceDumper.ThrowExceptionGeneric[T] (System.String message) in StackTraceDumper.cs:93 at StackTraceDumper.
m__5 () in StackTraceDumper.cs:32 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack frame with 2 generic parameters - at StackTraceDumper.ThrowExceptionGeneric[T1,T2] (System.String message) in StackTraceDumper.cs:108 + at StackTraceDumper.ThrowExceptionGeneric[T1,T2] (System.String message) in StackTraceDumper.cs:113 at StackTraceDumper.
m__6 () in StackTraceDumper.cs:34 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper.ThrowExceptionGeneric[T1,T2] (System.String message) in StackTraceDumper.cs:108 + at StackTraceDumper.ThrowExceptionGeneric[T1,T2] (System.String message) in StackTraceDumper.cs:113 at StackTraceDumper.
m__6 () in StackTraceDumper.cs:34 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack frame with generic method overload - at StackTraceDumper.ThrowExceptionGeneric[T] (T a1) in StackTraceDumper.cs:93 + at StackTraceDumper.ThrowExceptionGeneric[T] (T a1) in StackTraceDumper.cs:98 at StackTraceDumper.
m__7 () in StackTraceDumper.cs:36 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper.ThrowExceptionGeneric[T] (T a1) in StackTraceDumper.cs:93 + at StackTraceDumper.ThrowExceptionGeneric[T] (T a1) in StackTraceDumper.cs:98 at StackTraceDumper.
m__7 () in StackTraceDumper.cs:36 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack trace with inner class - at StackTraceDumper+InnerClass.ThrowException (System.String message) in StackTraceDumper.cs:114 + at StackTraceDumper+InnerClass.ThrowException (System.String message) in StackTraceDumper.cs:119 at StackTraceDumper.
m__8 () in StackTraceDumper.cs:38 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper+InnerClass.ThrowException (System.String message) in StackTraceDumper.cs:114 + at StackTraceDumper+InnerClass.ThrowException (System.String message) in StackTraceDumper.cs:119 at StackTraceDumper.
m__8 () in StackTraceDumper.cs:38 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack trace with inner generic class - at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message) in StackTraceDumper.cs:121 + at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message) in StackTraceDumper.cs:126 at StackTraceDumper.
m__9 () in StackTraceDumper.cs:40 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message) in StackTraceDumper.cs:121 + at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message) in StackTraceDumper.cs:126 at StackTraceDumper.
m__9 () in StackTraceDumper.cs:40 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Generic to string:string System.Exception: Stack trace with inner generic class and method generic parameter - at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message, T arg) in StackTraceDumper.cs:127 + at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message, T arg) in StackTraceDumper.cs:132 at StackTraceDumper.
m__A () in StackTraceDumper.cs:42 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message, T arg) in StackTraceDumper.cs:127 + at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message, T arg) in StackTraceDumper.cs:132 at StackTraceDumper.
m__A () in StackTraceDumper.cs:42 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack trace with inner generic class and generic overload - at StackTraceDumper+InnerGenericClass`1[T].ThrowException[T1] (System.String message, T1 arg) in StackTraceDumper.cs:132 + at StackTraceDumper+InnerGenericClass`1[T].ThrowException[T1] (System.String message, T1 arg) in StackTraceDumper.cs:137 at StackTraceDumper.
m__B () in StackTraceDumper.cs:44 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper+InnerGenericClass`1[T].ThrowException[T1] (System.String message, T1 arg) in StackTraceDumper.cs:132 + at StackTraceDumper+InnerGenericClass`1[T].ThrowException[T1] (System.String message, T1 arg) in StackTraceDumper.cs:137 at StackTraceDumper.
m__B () in StackTraceDumper.cs:44 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack trace with 2 inner generic class and generic overload - at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T message) in StackTraceDumper.cs:138 + at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T message) in StackTraceDumper.cs:143 at StackTraceDumper.
m__C () in StackTraceDumper.cs:46 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T message) in StackTraceDumper.cs:138 + at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T message) in StackTraceDumper.cs:143 at StackTraceDumper.
m__C () in StackTraceDumper.cs:46 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 System.Exception: Stack trace with 2 inner generic class and generic overload - at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T2 message) in StackTraceDumper.cs:143 + at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T2 message) in StackTraceDumper.cs:148 at StackTraceDumper.
m__D () in StackTraceDumper.cs:48 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 Stacktrace: - at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T2 message) in StackTraceDumper.cs:143 + at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T2 message) in StackTraceDumper.cs:148 at StackTraceDumper.
m__D () in StackTraceDumper.cs:48 - at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 + +System.ArgumentNullException: Value cannot be null. +Parameter name: key + at System.ThrowHelper.ThrowArgumentNullException (System.ExceptionArgument argument) [0x00006] in /Users/marcos/dev/mono/mono8/mcs/class/referencesource/mscorlib/system/throwhelper.cs:80 + at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x0000b] in /Users/marcos/dev/mono/mono8/mcs/class/referencesource/mscorlib/system/collections/generic/dictionary.cs:299 + at System.Collections.Generic.Dictionary`2[TKey,TValue].ContainsKey (TKey key) [0x00000] in /Users/marcos/dev/mono/mono8/mcs/class/referencesource/mscorlib/system/collections/generic/dictionary.cs:228 + at StackTraceDumper.
m__E () in StackTraceDumper.cs:52 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 +Stacktrace: + at System.ThrowHelper.ThrowArgumentNullException (System.ExceptionArgument argument) [0x00006] in /Users/marcos/dev/mono/mono8/mcs/class/referencesource/mscorlib/system/throwhelper.cs:80 + at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x0000b] in /Users/marcos/dev/mono/mono8/mcs/class/referencesource/mscorlib/system/collections/generic/dictionary.cs:299 + at System.Collections.Generic.Dictionary`2[TKey,TValue].ContainsKey (TKey key) [0x00000] in /Users/marcos/dev/mono/mono8/mcs/class/referencesource/mscorlib/system/collections/generic/dictionary.cs:228 + at StackTraceDumper.
m__E () in StackTraceDumper.cs:52 + at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:59 -- 2.25.1