Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2126)

Unified Diff: appengine/findit/crash/test/stacktrace_test.py

Issue 1980203002: [Findit] Filter inline function path frames (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: appengine/findit/crash/test/stacktrace_test.py
diff --git a/appengine/findit/crash/test/stacktrace_test.py b/appengine/findit/crash/test/stacktrace_test.py
index 30e9fad2fb204eeb468b8d98d09859fc1e16d5c0..e50d274a2d0821d7e7e90c158748a9447c7d1251 100644
--- a/appengine/findit/crash/test/stacktrace_test.py
+++ b/appengine/findit/crash/test/stacktrace_test.py
@@ -3,18 +3,69 @@
# found in the LICENSE file.
from crash.callstack import CallStack
+from crash.callstack import StackFrame
from crash.stacktrace import Stacktrace
-from testing_utils import testing
+from crash.test.stacktrace_test_suite import StacktraceTestSuite
-class StacktraceTest(testing.AppengineTestCase):
+class StacktraceTest(StacktraceTestSuite):
- def testGetCrashStack(self):
- stack_trace = Stacktrace()
- self.assertEqual(stack_trace.GetCrashStack(), None)
+ def testCrashStackForStacktraceWithoutSignature(self):
+ frame_list1 = [
+ StackFrame(0, 'src/', '', 'func', 'file0.cc', [32])]
+
+ frame_list2 = [
+ StackFrame(0, 'src/', '', 'func2', 'file0.cc', [32])]
+
+ stacktrace = Stacktrace([CallStack(0, frame_list=frame_list1),
+ CallStack(1, frame_list=frame_list2)])
+ expected_crash_stack = CallStack(0, frame_list=frame_list1)
+
+ self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, expected_crash_stack)
+
+ def testFilterFramesBeforeSignatureForCrashStack(self):
+ frame_list1 = [
+ StackFrame(0, 'src/', '', 'func', 'file0.cc', [32]),
+ ]
+ callstack1 = CallStack(0, frame_list=frame_list1)
+
+ frame_list2 = [
+ StackFrame(0, 'src/', '', 'func', 'file0.cc', [32]),
+ StackFrame(1, 'src/', '', 'signature_func', 'file1.cc', [53]),
+ StackFrame(2, 'src/', '', 'funcc', 'file2.cc', [3])
+ ]
+ callstack2 = CallStack(0, frame_list=frame_list2)
+
+ stacktrace = Stacktrace([callstack1, callstack2], 'signature')
+
+ expected_frame_list = [
+ StackFrame(1, 'src/', '', 'signature_func', 'file1.cc', [53]),
+ StackFrame(2, 'src/', '', 'funcc', 'file2.cc', [3])]
+ expected_crash_stack = CallStack(0, frame_list=expected_frame_list)
+
+ self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
+ expected_crash_stack)
+
+ def testNoSignatureMatchForCrashStack(self):
+ frame_list = [
+ StackFrame(0, 'src/', '', 'func', 'file0.cc', [32]),
+ ]
+ callstack = CallStack(0, frame_list=frame_list)
+
+ stacktrace = Stacktrace([callstack], 'signature')
+
+ expected_frame_list = frame_list
+ expected_crash_stack = CallStack(0, frame_list=expected_frame_list)
+
+ self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
+ expected_crash_stack)
+
+ def testCrashStackFallBackToFirstLeastPriorityCallStack(self):
+ stacktrace = Stacktrace()
+ self.assertEqual(stacktrace.crash_stack, None)
callstack_list = [CallStack(0), CallStack(1)]
- stack_trace.extend(callstack_list)
+ stacktrace.extend(callstack_list)
- self.assertEqual(stack_trace.GetCrashStack(), callstack_list[0])
+ self.assertEqual(stacktrace.crash_stack, callstack_list[0])

Powered by Google App Engine
This is Rietveld 408576698