Chromium Code Reviews| 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 b18d5dde4ec78cf7323ebb1cf588ba1adf740bf6..580c4d3f7103a5a17ecf599171c937aaad6eff32 100644 |
| --- a/appengine/findit/crash/test/stacktrace_test.py |
| +++ b/appengine/findit/crash/test/stacktrace_test.py |
| @@ -202,6 +202,9 @@ class StacktraceTest(StacktraceTestSuite): |
| class StacktraceBufferTest(StacktraceTestSuite): |
| + def _DummyFilter(self, stack_buffer): # pragma: no cover |
| + return stack_buffer |
| + |
| def testStacktraceBufferWithoutSignature(self): |
| """Tests using least priority stack as crash_stack without signature.""" |
| frame_list1 = [ |
| @@ -230,6 +233,62 @@ class StacktraceBufferTest(StacktraceTestSuite): |
| self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, stack2.ToCallStack()) |
| + def testAddFitleredStackWithNoFilters(self): |
| + """Tests ``AddFilteredStack`` return None for inf priority stack buffer.""" |
|
wrengr
2016/12/22 22:43:00
for all these docstrings "Tests ``foo`` return bla
Sharu Jiang
2016/12/23 00:26:20
Done.
|
| + frame_list = [ |
| + StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32]), |
| + StackFrame(0, 'src/', 'func2', 'file0.cc', 'src/file0.cc', [32])] |
| + stack_buffer = CallStackBuffer(0, frame_list=frame_list) |
| + stacktrace_buffer = StacktraceBuffer() |
| + stacktrace_buffer.AddFilteredStack(stack_buffer) |
| + self.assertEqual(len(stacktrace_buffer.stacks), 1) |
| + |
| + def testFilterInfinityPriorityStackBuffer(self): |
| + """Tests ``AddFilteredStack`` return None for inf priority stack buffer.""" |
| + stack_buffer = CallStackBuffer(priority=float('inf')) |
| + stacktrace_buffer = StacktraceBuffer(filters=[self._DummyFilter]) |
| + stacktrace_buffer.AddFilteredStack(stack_buffer) |
| + self.assertEqual(len(stacktrace_buffer.stacks), 0) |
| + |
| + def testFilterEmptyStackBuffer(self): |
| + """Tests ``AddFilteredStack`` return None for empty stack buffer.""" |
| + stack_buffer = CallStackBuffer(frame_list=[]) |
| + stacktrace_buffer = StacktraceBuffer(filters=[self._DummyFilter]) |
| + stacktrace_buffer.AddFilteredStack(stack_buffer) |
| + self.assertEqual(len(stacktrace_buffer.stacks), 0) |
| + |
| + def testFilterAllFrames(self): |
| + """Tests ``AddFilteredStack`` filters all frames and resturn None.""" |
| + frame_list = [ |
| + StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32]), |
| + StackFrame(0, 'src/', 'func2', 'file0.cc', 'src/file0.cc', [32])] |
| + stack_buffer = CallStackBuffer(0, frame_list=frame_list) |
| + |
| + def _MockFilterAllFrames(stack_buffer): |
| + stack_buffer.frames = None |
| + return stack_buffer |
| + |
| + stacktrace_buffer = StacktraceBuffer(filters=[_MockFilterAllFrames]) |
| + stacktrace_buffer.AddFilteredStack(stack_buffer) |
| + self.assertEqual(len(stacktrace_buffer.stacks), 0) |
| + |
| + def testFilterSomeFrames(self): |
| + """Tests ``AddFilteredStack`` filters some frames.""" |
| + frame_list = [ |
| + StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32]), |
| + StackFrame(0, 'src/', 'func2', 'file0.cc', 'src/file0.cc', [32])] |
| + stack_buffer = CallStackBuffer(0, frame_list=frame_list) |
| + |
| + def _MockKeepFirstFrame(stack): |
| + stack.frames = stack.frames[:1] |
| + return stack |
| + |
| + stacktrace_buffer = StacktraceBuffer(filters=[_MockKeepFirstFrame]) |
| + stacktrace_buffer.AddFilteredStack(stack_buffer) |
| + self._VerifyTwoCallStacksEqual( |
| + stacktrace_buffer.stacks[0], |
| + CallStackBuffer(stack_buffer.priority, frame_list=frame_list[:1])) |
| + |
| def testEmptyStacktraceBufferToStacktrace(self): |
| """Tests ``ToStacktrace`` returns None for empty stacktrace buffer.""" |
| self.assertIsNone(StacktraceBuffer([]).ToStacktrace()) |