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

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

Issue 1914113002: [Findit] Enable project classifier and component classifier (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: 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 common.dependency import Dependency 5 from common.dependency import Dependency
6 from crash.callstack import StackFrame, CallStack 6 from crash.callstack import StackFrame, CallStack
7 from crash.test.stacktrace_test_suite import StacktraceTestSuite 7 from crash.test.stacktrace_test_suite import StacktraceTestSuite
8 from crash.type_enums import CallStackFormatType 8 from crash.type_enums import CallStackFormatType
9 9
10 10
11 class CallStackTest(StacktraceTestSuite): 11 class CallStackTest(StacktraceTestSuite):
12 12
13 def testStackFrameToString(self): 13 def testStackFrameToString(self):
14 self.assertEqual( 14 self.assertEqual(
15 StackFrame(0, 'src/', '', 'func', 'f.cc', []).ToString(), 15 StackFrame(0, 'src/', 'func', 'f.cc', 'src/f.cc', []).ToString(),
16 '#0 in func @ f.cc') 16 '#0 in func @ f.cc')
17 self.assertEqual( 17 self.assertEqual(
18 StackFrame(0, 'src/', '', 'func', 'f.cc', [1]).ToString(), 18 StackFrame(0, 'src/', 'func', 'f.cc', 'src/f.cc', [1]).ToString(),
19 '#0 in func @ f.cc:1') 19 '#0 in func @ f.cc:1')
20 self.assertEqual( 20 self.assertEqual(
21 StackFrame(0, 'src/', '', 'func', 'f.cc', [1, 2, 3, 4]).ToString(), 21 StackFrame(0, 'src/', 'func', 'f.cc', 'src/f.cc', [1, 2]).ToString(),
22 '#0 in func @ f.cc:1:3') 22 '#0 in func @ f.cc:1:1')
23 23
24 def testParseLineForJavaCallstackFormat(self): 24 def testParseLineForJavaCallstackFormat(self):
25 stack = CallStack(0, CallStackFormatType.JAVA) 25 stack = CallStack(0, CallStackFormatType.JAVA)
26 26
27 stack.ParseLine('dummy line', {}) 27 stack.ParseLine('dummy line', {})
28 self.assertEqual(stack, []) 28 self.assertEqual(stack, [])
29 29
30 deps = {'org/': Dependency('org/', 'https://repo', '1')} 30 deps = {'org/': Dependency('org/', 'https://repo', '1')}
31 stack.ParseLine(' at org.a.b(a.java:609)', deps) 31 stack.ParseLine(' at org.a.b(a.java:609)', deps)
32 self._VerifyTwoStackFramesEqual( 32 self._VerifyTwoStackFramesEqual(
33 stack[0], 33 stack[0],
34 StackFrame(0, 'org/', '', 'org.a.b', 'a.java', [609])) 34 StackFrame(0, 'org/', 'org.a.b', 'a.java', 'org/a.java', [609]))
35 35
36 def testParseLineForSyzyasanCallstackFormat(self): 36 def testParseLineForSyzyasanCallstackFormat(self):
37 stack = CallStack(0, CallStackFormatType.SYZYASAN) 37 stack = CallStack(0, CallStackFormatType.SYZYASAN)
38 38
39 stack.ParseLine('dummy line', {}) 39 stack.ParseLine('dummy line', {})
40 self.assertEqual(stack, []) 40 self.assertEqual(stack, [])
41 41
42 deps = {'src/content/': Dependency('src/content/', 'https://repo', '1')} 42 deps = {'src/content/': Dependency('src/content/', 'https://repo', '1')}
43 stack.ParseLine('c::p::n [src/content/e.cc @ 165]', deps) 43 stack.ParseLine('c::p::n [src/content/e.cc @ 165]', deps)
44 self._VerifyTwoStackFramesEqual( 44 self._VerifyTwoStackFramesEqual(
45 stack[0], 45 stack[0],
46 StackFrame(0, 'src/content/', '', 'c::p::n', 'e.cc', [165])) 46 StackFrame(
47 0, 'src/content/', 'c::p::n', 'e.cc', 'src/content/e.cc', [165]))
47 48
48 def testParseLineForDefaultCallstackFormat(self): 49 def testParseLineForDefaultCallstackFormat(self):
49 stack = CallStack(0, CallStackFormatType.DEFAULT) 50 stack = CallStack(0, CallStackFormatType.DEFAULT)
50 51
51 stack.ParseLine('dummy line', {}) 52 stack.ParseLine('dummy line', {})
52 self.assertEqual(stack, []) 53 self.assertEqual(stack, [])
53 54
54 stack.ParseLine('#dummy line', {}) 55 stack.ParseLine('#dummy line', {})
55 self.assertEqual(stack, []) 56 self.assertEqual(stack, [])
56 57
57 deps = {'tp/webrtc/': Dependency('tp/webrtc/', 'https://repo', '1')} 58 deps = {'tp/webrtc/': Dependency('tp/webrtc/', 'https://repo', '1')}
58 stack.ParseLine('#0 0x52617a in func0 tp/webrtc/a.c:38:3', deps) 59 stack.ParseLine('#0 0x52617a in func0 tp/webrtc/a.c:38:3', deps)
59 self._VerifyTwoStackFramesEqual( 60 self._VerifyTwoStackFramesEqual(
60 stack[0], 61 stack[0],
61 StackFrame(0, 'tp/webrtc/', '', 'func0', 'a.c', [38, 39, 40, 41])) 62 StackFrame(
63 0, 'tp/webrtc/', 'func0', 'a.c', 'tp/webrtc/a.c', [38, 39, 40, 41]))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698