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

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

Issue 2157433002: [Findit] Pass changed files info to Fracas, 2 face design. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Fix nits. Created 4 years, 5 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', 'src/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', 'src/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', 'src/f.cc', [1, 2]).ToString(), 21 StackFrame(0, 'src/', 'func', 'f.cc', 'src/f.cc', [1, 2]).ToString(),
22 '#0 in func @ f.cc:1:1') 22 '#0 in func @ f.cc:1:1')
23 23
24 def testBlameUrlForStackFrame(self):
25 frame = StackFrame(0, 'src/', 'func', 'f.cc', 'src/f.cc', [])
26 self.assertEqual(frame.BlameUrl('1'), None)
27
28 frame.repo_url = 'https://repo_url'
29 self.assertEqual(frame.BlameUrl('1'), 'https://repo_url/+blame/1/f.cc')
30
31 frame.crashed_line_numbers = [9, 10]
32 self.assertEqual(frame.BlameUrl('1'), 'https://repo_url/+blame/1/f.cc#9')
33
24 def testFrameListInitCallStack(self): 34 def testFrameListInitCallStack(self):
25 stack = CallStack(0) 35 stack = CallStack(0)
26 stack.extend([StackFrame(0, 'src/', '', 'func', 'f.cc', [2])]) 36 stack.extend([StackFrame(0, 'src/', '', 'func', 'f.cc', [2])])
27 37
28 copy_stack = CallStack(stack.priority, frame_list=stack) 38 copy_stack = CallStack(stack.priority, frame_list=stack)
29 self._VerifyTwoCallStacksEqual(copy_stack, stack) 39 self._VerifyTwoCallStacksEqual(copy_stack, stack)
30 40
31 def testParseLineForJavaCallstackFormat(self): 41 def testParseLineForJavaCallstackFormat(self):
32 stack = CallStack(0, CallStackFormatType.JAVA) 42 stack = CallStack(0, CallStackFormatType.JAVA)
33 43
(...skipping 27 matching lines...) Expand all
61 71
62 stack.ParseLine('#dummy line', {}) 72 stack.ParseLine('#dummy line', {})
63 self.assertEqual(stack, []) 73 self.assertEqual(stack, [])
64 74
65 deps = {'tp/webrtc/': Dependency('tp/webrtc/', 'https://repo', '1')} 75 deps = {'tp/webrtc/': Dependency('tp/webrtc/', 'https://repo', '1')}
66 stack.ParseLine('#0 0x52617a in func0 tp/webrtc/a.c:38:3', deps) 76 stack.ParseLine('#0 0x52617a in func0 tp/webrtc/a.c:38:3', deps)
67 self._VerifyTwoStackFramesEqual( 77 self._VerifyTwoStackFramesEqual(
68 stack[0], 78 stack[0],
69 StackFrame( 79 StackFrame(
70 0, 'tp/webrtc/', 'func0', 'a.c', 'tp/webrtc/a.c', [38, 39, 40, 41])) 80 0, 'tp/webrtc/', 'func0', 'a.c', 'tp/webrtc/a.c', [38, 39, 40, 41]))
OLDNEW
« no previous file with comments | « appengine/findit/crash/scorers/top_frame_index.py ('k') | appengine/findit/crash/test/crash_test_suite.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698