Пример #1
0
 def testToCallStackForNonEmptyCallStackBuffer(self):
     """Tests ``ToCallStack`` for non empty  ``CallStackBuffer`` object."""
     frame_list = [
         StackFrame(0, 'repo/path', 'func', 'a/c.cc', 'a/c.cc', [3, 4],
                    'https://repo')
     ]
     stack_buffer = CallStackBuffer(0, frame_list=frame_list)
     expected_callstack = CallStack(stack_buffer.priority,
                                    tuple(frame_list),
                                    CallStackFormatType.DEFAULT,
                                    LanguageType.CPP)
     self.assertTupleEqual(stack_buffer.ToCallStack(), expected_callstack)
Пример #2
0
    def testStacktraceBufferWithoutSignature(self):
        """Tests using least priority stack as crash_stack without  signature."""
        frame_list1 = [
            StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32])
        ]
        frame_list2 = [
            StackFrame(0, 'src/', 'func2', 'file0.cc', 'src/file0.cc', [32])
        ]

        stack1 = CallStackBuffer(0, frame_list=frame_list1)
        stack2 = CallStackBuffer(1, frame_list=frame_list2)
        stacktrace = StacktraceBuffer([stack1, stack2]).ToStacktrace()

        self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
                                       stack1.ToCallStack())
Пример #3
0
    def testSettingStackWithIsSignatureStackMetaDataAsCrashStack(self):
        """Tests using stack with signature as crash_stack with signature."""
        frame_list1 = [
            StackFrame(0, 'src', 'func', 'file0.cc', 'src/file0.cc', [32])
        ]

        frame_list2 = [
            StackFrame(0, 'src', 'signature_func2', 'f.cc', 'src/f.cc', [32])
        ]

        stack1 = CallStackBuffer(0,
                                 frame_list=frame_list1,
                                 metadata={'is_signature_stack': True})
        stack2 = CallStackBuffer(1, frame_list=frame_list2)
        stacktrace = StacktraceBuffer([stack1, stack2]).ToStacktrace()

        self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
                                       stack1.ToCallStack())