Exemple #1
0
        public void TestOptimize()
        {
            string stackTrace = "  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x000eb] in /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232 \n" +
                                "  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000]\n" +
                                "  at System.Reflection.MethodBase.Invoke (System.Object obj)\n" +
                                "  at Test.<OnGUIHelper>m__4 () [0x00013] in /Users/alementuev/dev/my/unity-debug-kit/Project/Assets/Test.cs:100 \n" +
                                "  at LunarPlugin.Timer.DefaultTimerCallback (LunarPlugin.Timer timer) [0x00000] in /Users/alementuev/dev/my/unity-debug-kit/Project/Assets/Plugins/LunarPlugin/Core/Timer.cs:76 \n" +
                                "  at LunarPlugin.Timer.Fire () [0x00008] in /Users/alementuev/dev/my/unity-debug-kit/Project/Assets/Plugins/LunarPlugin/Core/Timer.cs:51 ";

            StackTraceLine[] expected =
            {
                new StackTraceLine("System.Reflection.MonoMethod.Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)", "/Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs", 232),
                new StackTraceLine("System.Reflection.MethodBase.Invoke(Object, Object[])"),
                new StackTraceLine("System.Reflection.MethodBase.Invoke(Object)"),
                new StackTraceLine("Test.<OnGUIHelper>m__4() (at Assets/Test.cs:100)",                                                                                                                                                                "Assets/Test.cs",                                                                                                100),
                new StackTraceLine("LunarPlugin.Timer.DefaultTimerCallback(Timer) (at Assets/Plugins/LunarPlugin/Core/Timer.cs:76)",                                                                                                                  "Assets/Plugins/LunarPlugin/Core/Timer.cs",                                                                       76),
                new StackTraceLine("LunarPlugin.Timer.Fire() (at Assets/Plugins/LunarPlugin/Core/Timer.cs:51)",                                                                                                                                       "Assets/Plugins/LunarPlugin/Core/Timer.cs", 51)
            };

            StackTraceLine[] actual = EditorStackTrace.ParseStackTrace(stackTrace);
            Assert.AreEqual(expected, actual);
        }
Exemple #2
0
        public void TestOptimizeAlreadyOptimized()
        {
            string stackTrace = "Test.foo(String, Timer, Boolean[]) (at Assets/Test.cs:120)\n" +
                                "Test.<OnGUIHelper>m__4() (at Assets/Test.cs:98)\n" +
                                "LunarPlugin.Timer.DefaultTimerCallback(Timer) (at Assets/Plugins/LunarPlugin/Core/Timer.cs:76)\n" +
                                "LunarPlugin.Timer.Fire() (at Assets/Plugins/LunarPlugin/Core/Timer.cs:51)\n" +
                                "UnityEditor.HostView:Invoke(String, Object)\n" +
                                "UnityEditor.HostView:Invoke(String)\n" +
                                "UnityEditor.DockArea:OnGUI()";

            StackTraceLine[] expected =
            {
                new StackTraceLine("Test.foo(String, Timer, Boolean[]) (at Assets/Test.cs:120)",                                     "Assets/Test.cs",                           120),
                new StackTraceLine("Test.<OnGUIHelper>m__4() (at Assets/Test.cs:98)",                                                "Assets/Test.cs",                            98),
                new StackTraceLine("LunarPlugin.Timer.DefaultTimerCallback(Timer) (at Assets/Plugins/LunarPlugin/Core/Timer.cs:76)", "Assets/Plugins/LunarPlugin/Core/Timer.cs",  76),
                new StackTraceLine("LunarPlugin.Timer.Fire() (at Assets/Plugins/LunarPlugin/Core/Timer.cs:51)",                      "Assets/Plugins/LunarPlugin/Core/Timer.cs",  51),
                new StackTraceLine("UnityEditor.HostView:Invoke(String, Object)"),
                new StackTraceLine("UnityEditor.HostView:Invoke(String)"),
                new StackTraceLine("UnityEditor.DockArea:OnGUI()")
            };

            StackTraceLine[] actual = EditorStackTrace.ParseStackTrace(stackTrace);
            Assert.AreEqual(expected, actual);
        }