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

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: 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 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 testFrameListInitCallStack(self): 24 def testFrameListInitCallStack(self):
25 stack = CallStack(0) 25 stack = CallStack(0)
26 stack.extend([StackFrame(0, 'src/', '', 'func', 'f.cc', [2])]) 26 stack.extend([StackFrame(0, 'src/', '', 'func', 'f.cc', [2])])
27 27
28 copy_stack = CallStack(stack.priority, frame_list=stack) 28 copy_stack = CallStack(stack.priority, frame_list=stack)
29 self._VerifyTwoCallStacksEqual(copy_stack, stack) 29 self._VerifyTwoCallStacksEqual(copy_stack, stack)
30 30
31 def testParseLineForJavaCallstackFormat(self): 31 def testParseLineForJavaCallstackFormat(self):
32 stack = CallStack(0, CallStackFormatType.JAVA) 32 stack = CallStack(0, CallStackFormatType.JAVA)
33 33
34 stack.ParseLine('dummy line', {}) 34 stack.ParseLine('dummy line', {})
35 self.assertEqual(stack, []) 35 self.assertEqual(stack, [])
36 36
37 deps = {'org/': Dependency('org/', 'https://repo', '1')} 37 deps = {'org/': Dependency('org/', 'https://repo', '1')}
38 stack.ParseLine(' at org.a.b(a.java:609)', deps) 38 stack.ParseLine(' at org.a.b(a.java:609)', deps)
39 self._VerifyTwoStackFramesEqual( 39 self._VerifyTwoStackFramesEqual(
40 stack[0], 40 stack[0],
41 StackFrame(0, 'org/', '', 'org.a.b', 'a.java', [609])) 41 StackFrame(0, 'org/', 'org.a.b', 'a.java', 'org/a.java', [609]))
42 42
43 def testParseLineForSyzyasanCallstackFormat(self): 43 def testParseLineForSyzyasanCallstackFormat(self):
44 stack = CallStack(0, CallStackFormatType.SYZYASAN) 44 stack = CallStack(0, CallStackFormatType.SYZYASAN)
45 45
46 stack.ParseLine('dummy line', {}) 46 stack.ParseLine('dummy line', {})
47 self.assertEqual(stack, []) 47 self.assertEqual(stack, [])
48 48
49 deps = {'src/content/': Dependency('src/content/', 'https://repo', '1')} 49 deps = {'src/content/': Dependency('src/content/', 'https://repo', '1')}
50 stack.ParseLine('c::p::n [src/content/e.cc @ 165]', deps) 50 stack.ParseLine('c::p::n [src/content/e.cc @ 165]', deps)
51 self._VerifyTwoStackFramesEqual( 51 self._VerifyTwoStackFramesEqual(
52 stack[0], 52 stack[0],
53 StackFrame(0, 'src/content/', '', 'c::p::n', 'e.cc', [165])) 53 StackFrame(
54 0, 'src/content/', 'c::p::n', 'e.cc', 'src/content/e.cc', [165]))
54 55
55 def testParseLineForDefaultCallstackFormat(self): 56 def testParseLineForDefaultCallstackFormat(self):
56 stack = CallStack(0, CallStackFormatType.DEFAULT) 57 stack = CallStack(0, CallStackFormatType.DEFAULT)
57 58
58 stack.ParseLine('dummy line', {}) 59 stack.ParseLine('dummy line', {})
59 self.assertEqual(stack, []) 60 self.assertEqual(stack, [])
60 61
61 stack.ParseLine('#dummy line', {}) 62 stack.ParseLine('#dummy line', {})
62 self.assertEqual(stack, []) 63 self.assertEqual(stack, [])
63 64
64 deps = {'tp/webrtc/': Dependency('tp/webrtc/', 'https://repo', '1')} 65 deps = {'tp/webrtc/': Dependency('tp/webrtc/', 'https://repo', '1')}
65 stack.ParseLine('#0 0x52617a in func0 tp/webrtc/a.c:38:3', deps) 66 stack.ParseLine('#0 0x52617a in func0 tp/webrtc/a.c:38:3', deps)
66 self._VerifyTwoStackFramesEqual( 67 self._VerifyTwoStackFramesEqual(
67 stack[0], 68 stack[0],
68 StackFrame(0, 'tp/webrtc/', '', 'func0', 'a.c', [38, 39, 40, 41])) 69 StackFrame(
70 0, 'tp/webrtc/', 'func0', 'a.c', 'tp/webrtc/a.c', [38, 39, 40, 41]))
OLDNEW
« no previous file with comments | « appengine/findit/crash/test/callstack_filters_test.py ('k') | appengine/findit/crash/test/classifier_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698