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

Side by Side Diff: appengine/findit/crash/test/stacktrace_test.py

Issue 2607813002: [Predator] Make ``CallStackDetector`` return a namedtuple. (Closed)
Patch Set: Rebase and fix nit. Created 3 years, 11 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 unified diff | Download patch
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from common.dependency import Dependency 5 from common.dependency import Dependency
6 from crash.callstack_detectors import StartOfCallStack
6 from crash.stacktrace import CallStack 7 from crash.stacktrace import CallStack
7 from crash.stacktrace import CallStackBuffer 8 from crash.stacktrace import CallStackBuffer
8 from crash.stacktrace import StackFrame 9 from crash.stacktrace import StackFrame
9 from crash.stacktrace import Stacktrace 10 from crash.stacktrace import Stacktrace
10 from crash.stacktrace import StacktraceBuffer 11 from crash.stacktrace import StacktraceBuffer
11 from crash.test.stacktrace_test_suite import StacktraceTestSuite 12 from crash.test.stacktrace_test_suite import StacktraceTestSuite
12 from crash.type_enums import CallStackFormatType 13 from crash.type_enums import CallStackFormatType
13 from crash.type_enums import LanguageType 14 from crash.type_enums import LanguageType
14 15
15 16
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 expected_callstack = CallStack(stack_buffer.priority, 150 expected_callstack = CallStack(stack_buffer.priority,
150 tuple(frame_list), 151 tuple(frame_list),
151 CallStackFormatType.DEFAULT, 152 CallStackFormatType.DEFAULT,
152 LanguageType.CPP) 153 LanguageType.CPP)
153 self.assertTupleEqual(stack_buffer.ToCallStack(), expected_callstack) 154 self.assertTupleEqual(stack_buffer.ToCallStack(), expected_callstack)
154 155
155 def testToCallStackForEmptyCallStackBuffer(self): 156 def testToCallStackForEmptyCallStackBuffer(self):
156 """Tests ``ToCallStack`` for empty ``CallStackBuffer`` object.""" 157 """Tests ``ToCallStack`` for empty ``CallStackBuffer`` object."""
157 self.assertIsNone(CallStackBuffer(0, frame_list=[]).ToCallStack()) 158 self.assertIsNone(CallStackBuffer(0, frame_list=[]).ToCallStack())
158 159
160 def testFromNoneStartOfCallStack(self):
161 """Tests ``FromStartOfCallStack`` with None input."""
162 self.assertIsNone(CallStackBuffer.FromStartOfCallStack(None))
163
164 def testFromStartOfCallStack(self):
165 """Tests ``FromStartOfCallStack`` with ``StartOfCallStack`` input."""
166 start_of_callstack = StartOfCallStack(0, CallStackFormatType.DEFAULT,
167 LanguageType.CPP, {'pid': 123})
168 stack_buffer = CallStackBuffer.FromStartOfCallStack(start_of_callstack)
169 self.assertEqual(stack_buffer.priority, start_of_callstack.priority)
170 self.assertEqual(stack_buffer.format_type, start_of_callstack.format_type)
171 self.assertEqual(stack_buffer.language_type,
172 start_of_callstack.language_type)
173 self.assertDictEqual(stack_buffer.metadata, start_of_callstack.metadata)
174
159 175
160 class StacktraceTest(StacktraceTestSuite): 176 class StacktraceTest(StacktraceTestSuite):
161 177
162 def testStacktraceLen(self): 178 def testStacktraceLen(self):
163 """Tests ``len`` for ``Stacktrace`` object.""" 179 """Tests ``len`` for ``Stacktrace`` object."""
164 frame_list1 = [ 180 frame_list1 = [
165 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32])] 181 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32])]
166 182
167 frame_list2 = [ 183 frame_list2 = [
168 StackFrame(0, 'src/', 'func2', 'file0.cc', 'src/file0.cc', [32])] 184 StackFrame(0, 'src/', 'func2', 'file0.cc', 'src/file0.cc', [32])]
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 300
285 stacktrace_buffer = StacktraceBuffer(filters=[_MockKeepFirstFrame]) 301 stacktrace_buffer = StacktraceBuffer(filters=[_MockKeepFirstFrame])
286 stacktrace_buffer.AddFilteredStack(stack_buffer) 302 stacktrace_buffer.AddFilteredStack(stack_buffer)
287 self._VerifyTwoCallStacksEqual( 303 self._VerifyTwoCallStacksEqual(
288 stacktrace_buffer.stacks[0], 304 stacktrace_buffer.stacks[0],
289 CallStackBuffer(stack_buffer.priority, frame_list=frame_list[:1])) 305 CallStackBuffer(stack_buffer.priority, frame_list=frame_list[:1]))
290 306
291 def testEmptyStacktraceBufferToStacktrace(self): 307 def testEmptyStacktraceBufferToStacktrace(self):
292 """Tests that ``ToStacktrace`` returns None for empty stacktrace buffer.""" 308 """Tests that ``ToStacktrace`` returns None for empty stacktrace buffer."""
293 self.assertIsNone(StacktraceBuffer([]).ToStacktrace()) 309 self.assertIsNone(StacktraceBuffer([]).ToStacktrace())
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698