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

Side by Side Diff: appengine/findit/crash/test/fracas_parser_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 import textwrap 5 import textwrap
6 6
7 from common.dependency import Dependency 7 from common.dependency import Dependency
8 from crash.callstack import StackFrame, CallStack 8 from crash.callstack import StackFrame, CallStack
9 from crash.fracas_parser import FracasParser 9 from crash.fracas_parser import FracasParser
10 from crash.stacktrace import Stacktrace 10 from crash.stacktrace import Stacktrace
(...skipping 22 matching lines...) Expand all
33 ) 33 )
34 self._VerifyTwoStacktracesEqual(parser.Parse(stacktrace_string, deps), 34 self._VerifyTwoStacktracesEqual(parser.Parse(stacktrace_string, deps),
35 Stacktrace()) 35 Stacktrace())
36 36
37 def testFracasParserParseLineOneCallstack(self): 37 def testFracasParserParseLineOneCallstack(self):
38 parser = FracasParser() 38 parser = FracasParser()
39 deps = {'src/': Dependency('src/', 'https://repo', '1')} 39 deps = {'src/': Dependency('src/', 'https://repo', '1')}
40 stacktrace_string = textwrap.dedent( 40 stacktrace_string = textwrap.dedent(
41 """ 41 """
42 CRASHED [EXC @ 0x508] 42 CRASHED [EXC @ 0x508]
43 #0 0x7fee in a::b::c(p* &d) src/f0.cc:177 43 #0 0x7fee in a::c(p* &d) src/f0.cc:177
44 #1 0x4b6e in a::b::d(a* c) src/f1.cc:227:2 44 #1 0x4b6e in a::d(a* c) src/f1.cc:227
45 #2 0x7ff9 in a::b::e(int) src/f2.cc:87:3 45 #2 0x7ff9 in a::e(int) src/f2.cc:87:1
46 """ 46 """
47 ) 47 )
48 48
49 stacktrace = parser.Parse(stacktrace_string, deps) 49 stacktrace = parser.Parse(stacktrace_string, deps)
50 50
51 expected_callstack = CallStack(0) 51 expected_callstack = CallStack(0)
52 expected_callstack.extend( 52 expected_callstack.extend(
53 [StackFrame(0, 'src/', '', 'a::b::c(p* &d)', 'f0.cc', [177]), 53 [StackFrame(0, 'src/', 'a::c(p* &d)', 'f0.cc', 'src/f0.cc', [177]),
54 StackFrame(1, 'src/', '', 'a::b::d(a* c)', 'f1.cc', [227, 228, 229]), 54 StackFrame(1, 'src/', 'a::d(a* c)', 'f1.cc', 'src/f1.cc', [227]),
55 StackFrame(2, 'src/', '', 'a::b::e(int)', 'f2.cc', [87, 88, 89, 90])]) 55 StackFrame(2, 'src/', 'a::e(int)', 'f2.cc', 'src/f2.cc', [87, 88])])
56 56
57 expected_stacktrace = Stacktrace() 57 expected_stacktrace = Stacktrace()
58 expected_stacktrace.append(expected_callstack) 58 expected_stacktrace.append(expected_callstack)
59 59
60 self._VerifyTwoStacktracesEqual(stacktrace, expected_stacktrace) 60 self._VerifyTwoStacktracesEqual(stacktrace, expected_stacktrace)
61 61
62 def testFracasParserParseLineMultipleCallstacks(self): 62 def testFracasParserParseLineMultipleCallstacks(self):
63 parser = FracasParser() 63 parser = FracasParser()
64 deps = {'src/': Dependency('src/', 'https://repo', '1')} 64 deps = {'src/': Dependency('src/', 'https://repo', '1')}
65 stacktrace_string = textwrap.dedent( 65 stacktrace_string = textwrap.dedent(
66 """ 66 """
67 CRASHED [EXC @ 0x66] 67 CRASHED [EXC @ 0x66]
68 #0 0x7fee in a::b::c(p* &d) src/f0.cc:177 68 #0 0x7fee in a::b::c(p* &d) src/f0.cc:177
69 #1 0x4b6e in a::b::d(a* c) src/f1.cc:227:2 69 #1 0x4b6e in a::b::d(a* c) src/f1.cc:227
70 70
71 CRASHED [EXC @ 0x508] 71 CRASHED [EXC @ 0x508]
72 #0 0x8fee in e::f::g(p* &d) src/f.cc:20:2 72 #0 0x8fee in e::f::g(p* &d) src/f.cc:20:2
73 #1 0x1fae in h::i::j(p* &d) src/ff.cc:9:1 73 #1 0x1fae in h::i::j(p* &d) src/ff.cc:9:1
74 """ 74 """
75 ) 75 )
76 76
77 stacktrace = parser.Parse(stacktrace_string, deps) 77 stacktrace = parser.Parse(stacktrace_string, deps)
78 78
79 expected_callstack0 = CallStack(0) 79 expected_callstack0 = CallStack(0)
80 expected_callstack0.extend( 80 expected_callstack0.extend(
81 [StackFrame(0, 'src/', '', 'a::b::c(p* &d)', 'f0.cc', [177]), 81 [StackFrame(0, 'src/', 'a::b::c(p* &d)', 'f0.cc', 'src/f0.cc', [177]),
82 StackFrame(1, 'src/', '', 'a::b::d(a* c)', 'f1.cc', [227, 228, 229])]) 82 StackFrame(1, 'src/', 'a::b::d(a* c)', 'f1.cc', 'src/f1.cc', [227])])
83 83
84 expected_callstack1 = CallStack(0) 84 expected_callstack1 = CallStack(0)
85 expected_callstack1.extend( 85 expected_callstack1.extend(
86 [StackFrame(0, 'src/', '', 'e::f::g(p* &d)', 'f.cc', [20, 21, 22]), 86 [StackFrame(
87 StackFrame(1, 'src/', '', 'h::i::j(p* &d)', 'ff.cc', [9, 10])]) 87 0, 'src/', 'e::f::g(p* &d)', 'f.cc', 'src/f.cc', [20, 21, 22]),
88 StackFrame(
89 1, 'src/', 'h::i::j(p* &d)', 'ff.cc', 'src/ff.cc', [9, 10])])
88 90
89 expected_stacktrace = Stacktrace() 91 expected_stacktrace = Stacktrace()
90 expected_stacktrace.extend([expected_callstack0, expected_callstack1]) 92 expected_stacktrace.extend([expected_callstack0, expected_callstack1])
91 93
92 self._VerifyTwoStacktracesEqual(stacktrace, expected_stacktrace) 94 self._VerifyTwoStacktracesEqual(stacktrace, expected_stacktrace)
OLDNEW
« no previous file with comments | « appengine/findit/crash/test/fracas_crash_pipeline_test.py ('k') | appengine/findit/crash/test/fracas_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698