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

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 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 8
9 from crash.test.stacktrace_test_suite import StacktraceTestSuite 9 from crash.test.stacktrace_test_suite import StacktraceTestSuite
10 10
11 11
12 class StacktraceTest(StacktraceTestSuite): 12 class StacktraceTest(StacktraceTestSuite):
13 def testCrashStackForStacktraceWithoutSignature(self): 13 def testCrashStackForStacktraceWithoutSignature(self):
14 frame_list1 = [ 14 frame_list1 = [
15 StackFrame(0, 'src/', '', 'func', 'file0.cc', [32])] 15 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32])]
16 16
17 frame_list2 = [ 17 frame_list2 = [
18 StackFrame(0, 'src/', '', 'func2', 'file0.cc', [32])] 18 StackFrame(0, 'src/', 'func2', 'file0.cc', 'src/file0.cc', [32])]
19 19
20 stacktrace = Stacktrace([CallStack(0, frame_list=frame_list1), 20 stacktrace = Stacktrace([CallStack(0, frame_list=frame_list1),
21 CallStack(1, frame_list=frame_list2)]) 21 CallStack(1, frame_list=frame_list2)])
22 expected_crash_stack = CallStack(0, frame_list=frame_list1) 22 expected_crash_stack = CallStack(0, frame_list=frame_list1)
23 23
24 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, expected_crash_stack) 24 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, expected_crash_stack)
25 25
26 def testFilterFramesBeforeSignatureForCrashStack(self): 26 def testFilterFramesBeforeSignatureForCrashStack(self):
27 frame_list1 = [ 27 frame_list1 = [
28 StackFrame(0, 'src/', '', 'func', 'file0.cc', [32]), 28 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32]),
29 ] 29 ]
30 callstack1 = CallStack(0, frame_list=frame_list1) 30 callstack1 = CallStack(0, frame_list=frame_list1)
31 31
32 frame_list2 = [ 32 frame_list2 = [
33 StackFrame(0, 'src/', '', 'func', 'file0.cc', [32]), 33 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32]),
34 StackFrame(1, 'src/', '', 'signature_func', 'file1.cc', [53]), 34 StackFrame(1, 'src/', 'signature_func',
35 StackFrame(2, 'src/', '', 'funcc', 'file2.cc', [3]) 35 'file1.cc', 'src/file1.cc', [53]),
36 StackFrame(2, 'src/', 'funcc', 'file2.cc', 'src/file2.cc', [3])
36 ] 37 ]
37 callstack2 = CallStack(0, frame_list=frame_list2) 38 callstack2 = CallStack(0, frame_list=frame_list2)
38 39
39 stacktrace = Stacktrace([callstack1, callstack2], 'signature') 40 stacktrace = Stacktrace([callstack1, callstack2], 'signature')
40 41
41 expected_frame_list = [ 42 expected_frame_list = [
42 StackFrame(1, 'src/', '', 'signature_func', 'file1.cc', [53]), 43 StackFrame(
43 StackFrame(2, 'src/', '', 'funcc', 'file2.cc', [3])] 44 1, 'src/', 'signature_func', 'file1.cc', 'src/file1.cc', [53]),
45 StackFrame(
46 2, 'src/', 'funcc', 'file2.cc', 'src/file2.cc', [3])]
44 expected_crash_stack = CallStack(0, frame_list=expected_frame_list) 47 expected_crash_stack = CallStack(0, frame_list=expected_frame_list)
45 48
46 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, 49 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
47 expected_crash_stack) 50 expected_crash_stack)
48 51
49 def testNoSignatureMatchForCrashStack(self): 52 def testNoSignatureMatchForCrashStack(self):
50 frame_list = [ 53 frame_list = [
51 StackFrame(0, 'src/', '', 'func', 'file0.cc', [32]), 54 StackFrame(0, 'src/', 'func', 'file0.cc', 'src/file0.cc', [32]),
52 ] 55 ]
53 callstack = CallStack(0, frame_list=frame_list) 56 callstack = CallStack(0, frame_list=frame_list)
54 57
55 stacktrace = Stacktrace([callstack], 'signature') 58 stacktrace = Stacktrace([callstack], 'signature')
56 59
57 expected_frame_list = frame_list 60 expected_frame_list = frame_list
58 expected_crash_stack = CallStack(0, frame_list=expected_frame_list) 61 expected_crash_stack = CallStack(0, frame_list=expected_frame_list)
59 62
60 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, 63 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
61 expected_crash_stack) 64 expected_crash_stack)
62 65
63 def testCrashStackFallBackToFirstLeastPriorityCallStack(self): 66 def testCrashStackFallBackToFirstLeastPriorityCallStack(self):
64 stacktrace = Stacktrace() 67 stacktrace = Stacktrace()
65 self.assertEqual(stacktrace.crash_stack, None) 68 self.assertEqual(stacktrace.crash_stack, None)
66 69
67 callstack_list = [CallStack(0), CallStack(1)] 70 callstack_list = [CallStack(0), CallStack(1)]
68 stacktrace.extend(callstack_list) 71 stacktrace.extend(callstack_list)
69 72
70 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack, 73 self._VerifyTwoCallStacksEqual(stacktrace.crash_stack,
71 callstack_list[0]) 74 callstack_list[0])
72 75
73 def testInitStacktaceByCopyAnother(self): 76 def testInitStacktaceByCopyAnother(self):
74 stack_trace = Stacktrace() 77 stack_trace = Stacktrace()
75 stack_trace.extend([CallStack(0), CallStack(1)]) 78 stack_trace.extend([CallStack(0), CallStack(1)])
76 79
77 self._VerifyTwoStacktracesEqual(Stacktrace(stack_trace), stack_trace) 80 self._VerifyTwoStacktracesEqual(Stacktrace(stack_trace), stack_trace)
OLDNEW
« no previous file with comments | « appengine/findit/crash/test/results_test.py ('k') | appengine/findit/crash/test/stacktrace_test_suite.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698