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

Side by Side Diff: tools/findit/crash_utils.py

Issue 617073010: [Findit] Add timestamp of CL commit and fix two bugs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « tools/findit/blame.py ('k') | tools/findit/findit_for_crash.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2014 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2014 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 atexit 5 import atexit
6 import cgi 6 import cgi
7 import ConfigParser 7 import ConfigParser
8 import json 8 import json
9 import os 9 import os
10 import Queue 10 import Queue
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 # Normalize the path by stripping everything off the component's relative 217 # Normalize the path by stripping everything off the component's relative
218 # path. 218 # path.
219 normalized_path = normalized_path.split(current_component_path, 1)[1] 219 normalized_path = normalized_path.split(current_component_path, 1)[1]
220 lower_normalized_path = normalized_path.lower() 220 lower_normalized_path = normalized_path.lower()
221 221
222 # Add 'src/' or 'Source/' at the front of the normalized path, depending 222 # Add 'src/' or 'Source/' at the front of the normalized path, depending
223 # on what prefix the component path uses. For example, blink uses 223 # on what prefix the component path uses. For example, blink uses
224 # 'Source' but chromium uses 'src/', and blink component path is 224 # 'Source' but chromium uses 'src/', and blink component path is
225 # 'src/third_party/WebKit/Source', so add 'Source/' in front of the 225 # 'src/third_party/WebKit/Source', so add 'Source/' in front of the
226 # normalized path. 226 # normalized path.
227 if not (lower_normalized_path.startswith('src/') or 227 if (lower_component_path == 'src/third_party/webkit/source' and
228 lower_normalized_path.startswith('source/')): 228 not lower_normalized_path.startswith('source/')):
229
230 if (lower_component_path.endswith('src/') or
231 lower_component_path.endswith('source/')):
232 normalized_path = (current_component_path.split('/')[-2] + '/' + 229 normalized_path = (current_component_path.split('/')[-2] + '/' +
233 normalized_path) 230 normalized_path)
234 231
235 else:
236 normalized_path = 'src/' + normalized_path
237
238 component_name = parsed_deps[component_path]['name'] 232 component_name = parsed_deps[component_path]['name']
239 233
240 return (component_path, component_name, normalized_path) 234 return (component_path, component_name, normalized_path)
241 235
242 # If the path does not match any component, default to chromium. 236 # If the path does not match any component, default to chromium.
243 return ('src/', 'chromium', normalized_path) 237 return ('src/', 'chromium', normalized_path)
244 238
245 239
246 def SplitRange(regression): 240 def SplitRange(regression):
247 """Splits a range as retrieved from clusterfuzz. 241 """Splits a range as retrieved from clusterfuzz.
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 A list of result object. 515 A list of result object.
522 516
523 """ 517 """
524 result_list = [] 518 result_list = []
525 519
526 for _, cl, match in matches: 520 for _, cl, match in matches:
527 suspected_cl = cl 521 suspected_cl = cl
528 revision_url = match.revision_url 522 revision_url = match.revision_url
529 component_name = match.component_name 523 component_name = match.component_name
530 author = match.author 524 author = match.author
531 reason = match.reason 525 reason = match.reason.strip()
532 review_url = match.review_url 526 review_url = match.review_url
533 reviewers = match.reviewers 527 reviewers = match.reviewers
534 # For matches, line content do not exist. 528 # For matches, line content do not exist.
535 line_content = None 529 line_content = None
536 message = match.message 530 message = match.message
531 time = match.time
537 532
538 result = Result(suspected_cl, revision_url, component_name, author, reason, 533 result = Result(suspected_cl, revision_url, component_name, author, reason,
539 review_url, reviewers, line_content, message) 534 review_url, reviewers, line_content, message, time)
540 result_list.append(result) 535 result_list.append(result)
541 536
542 return result_list 537 return result_list
543 538
544 539
545 def BlameListToResultList(blame_list): 540 def BlameListToResultList(blame_list):
546 """Convert blame list to the list of result objects. 541 """Convert blame list to the list of result objects.
547 542
548 Args: 543 Args:
549 blame_list: A list of blame objects. 544 blame_list: A list of blame objects.
550 545
551 Returns: 546 Returns:
552 A list of result objects. 547 A list of result objects.
553 """ 548 """
554 result_list = [] 549 result_list = []
555 550
556 for blame in blame_list: 551 for blame in blame_list:
557 suspected_cl = blame.revision 552 suspected_cl = blame.revision
558 revision_url = blame.url 553 revision_url = blame.url
559 component_name = blame.component_name 554 component_name = blame.component_name
560 author = blame.author 555 author = blame.author
561 reason = ( 556 reason = (
562 'The CL last changed line %s of file %s, which is stack frame %d.' % 557 'The CL last changed line %s of file %s, which is stack frame %d.' %
563 (blame.line_number, blame.file, blame.stack_frame_index)) 558 (blame.line_number, blame.file, blame.stack_frame_index))
559 time = blame.time
564 # Blame object does not have review url and reviewers. 560 # Blame object does not have review url and reviewers.
565 review_url = None 561 review_url = None
566 reviewers = None 562 reviewers = None
567 line_content = blame.line_content 563 line_content = blame.line_content
568 message = blame.message 564 message = blame.message
569 565
570 result = Result(suspected_cl, revision_url, component_name, author, reason, 566 result = Result(suspected_cl, revision_url, component_name, author, reason,
571 review_url, reviewers, line_content, message) 567 review_url, reviewers, line_content, message, time)
572 result_list.append(result) 568 result_list.append(result)
573 569
574 return result_list 570 return result_list
OLDNEW
« no previous file with comments | « tools/findit/blame.py ('k') | tools/findit/findit_for_crash.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698