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

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

Issue 1914113002: [Findit] Enable project classifier and component classifier (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Rebase and address comments. 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 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 crash.callstack import CallStack 5 from crash.callstack import CallStack
6 from crash.callstack import StackFrame 6 from crash.callstack import StackFrame
7 from crash.stacktrace import Stacktrace 7 from crash.stacktrace import Stacktrace
8 from crash.test.stacktrace_test_suite import StacktraceTestSuite 8 from crash.test.stacktrace_test_suite import StacktraceTestSuite
9 9
10 10
11 class StacktraceTest(StacktraceTestSuite): 11 class StacktraceTest(StacktraceTestSuite):
12 def testCrashStackForStacktraceWithoutSignature(self): 12 def testCrashStackForStacktraceWithoutSignature(self):
13 frame_list1 = [ 13 frame_list1 = [
14 StackFrame(0, 'src/', '', 'func', 'file0.cc', [32])] 14 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32])]
15 15
16 frame_list2 = [ 16 frame_list2 = [
17 StackFrame(0, 'src/', '', 'func2', 'file0.cc', [32])] 17 StackFrame(0, 'src/', 'func2', 'file0.cc', 'src/file0.cc', [32])]
18 18
19 stacktrace = Stacktrace([CallStack(0, frame_list=frame_list1), 19 stacktrace = Stacktrace([CallStack(0, frame_list=frame_list1),
20 CallStack(1, frame_list=frame_list2)]) 20 CallStack(1, frame_list=frame_list2)])
21 expected_crash_stack = CallStack(0, frame_list=frame_list1) 21 expected_crash_stack = CallStack(0, frame_list=frame_list1)
22 22
23 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, expected_crash_stack) 23 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, expected_crash_stack)
24 24
25 def testFilterFramesBeforeSignatureForCrashStack(self): 25 def testFilterFramesBeforeSignatureForCrashStack(self):
26 frame_list1 = [ 26 frame_list1 = [
27 StackFrame(0, 'src/', '', 'func', 'file0.cc', [32]), 27 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32]),
28 ] 28 ]
29 callstack1 = CallStack(0, frame_list=frame_list1) 29 callstack1 = CallStack(0, frame_list=frame_list1)
30 30
31 frame_list2 = [ 31 frame_list2 = [
32 StackFrame(0, 'src/', '', 'func', 'file0.cc', [32]), 32 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32]),
33 StackFrame(1, 'src/', '', 'signature_func', 'file1.cc', [53]), 33 StackFrame(1, 'src/', 'signature_func',
34 StackFrame(2, 'src/', '', 'funcc', 'file2.cc', [3]) 34 'file1.cc', 'src/file1.cc', [53]),
35 StackFrame(2, 'src/', 'funcc', 'file2.cc', 'src/file2.cc', [3])
35 ] 36 ]
36 callstack2 = CallStack(0, frame_list=frame_list2) 37 callstack2 = CallStack(0, frame_list=frame_list2)
37 38
38 stacktrace = Stacktrace([callstack1, callstack2], 'signature') 39 stacktrace = Stacktrace([callstack1, callstack2], 'signature')
39 40
40 expected_frame_list = [ 41 expected_frame_list = [
41 StackFrame(1, 'src/', '', 'signature_func', 'file1.cc', [53]), 42 StackFrame(
42 StackFrame(2, 'src/', '', 'funcc', 'file2.cc', [3])] 43 1, 'src/', 'signature_func', 'file1.cc', 'src/file1.cc', [53]),
44 StackFrame(
45 2, 'src/', 'funcc', 'file2.cc', 'src/file2.cc', [3])]
43 expected_crash_stack = CallStack(0, frame_list=expected_frame_list) 46 expected_crash_stack = CallStack(0, frame_list=expected_frame_list)
44 47
45 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, 48 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
46 expected_crash_stack) 49 expected_crash_stack)
47 50
48 def testNoSignatureMatchForCrashStack(self): 51 def testNoSignatureMatchForCrashStack(self):
49 frame_list = [ 52 frame_list = [
50 StackFrame(0, 'src/', '', 'func', 'file0.cc', [32]), 53 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32]),
51 ] 54 ]
52 callstack = CallStack(0, frame_list=frame_list) 55 callstack = CallStack(0, frame_list=frame_list)
53 56
54 stacktrace = Stacktrace([callstack], 'signature') 57 stacktrace = Stacktrace([callstack], 'signature')
55 58
56 expected_frame_list = frame_list 59 expected_frame_list = frame_list
57 expected_crash_stack = CallStack(0, frame_list=expected_frame_list) 60 expected_crash_stack = CallStack(0, frame_list=expected_frame_list)
58 61
59 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, 62 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
60 expected_crash_stack) 63 expected_crash_stack)
61 64
62 def testCrashStackFallBackToFirstLeastPriorityCallStack(self): 65 def testCrashStackFallBackToFirstLeastPriorityCallStack(self):
63 stacktrace = Stacktrace() 66 stacktrace = Stacktrace()
64 self.assertEqual(stacktrace.crash_stack, None) 67 self.assertEqual(stacktrace.crash_stack, None)
65 68
66 callstack_list = [CallStack(0), CallStack(1)] 69 callstack_list = [CallStack(0), CallStack(1)]
67 stacktrace.extend(callstack_list) 70 stacktrace.extend(callstack_list)
68 71
69 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, 72 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
70 callstack_list[0]) 73 callstack_list[0])
71 74
72 def testInitStacktaceByCopyAnother(self): 75 def testInitStacktaceByCopyAnother(self):
73 stack_trace = Stacktrace() 76 stack_trace = Stacktrace()
74 stack_trace.extend([CallStack(0), CallStack(1)]) 77 stack_trace.extend([CallStack(0), CallStack(1)])
75 78
76 self._VerifyTwoStacktracesEqual(Stacktrace(stack_trace), stack_trace) 79 self._VerifyTwoStacktracesEqual(Stacktrace(stack_trace), stack_trace)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698