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

Unified Diff: tools/findit/match_set.py

Issue 478763003: [Findit] Bug fixing and implemented some feature requests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed codereview and removed all references to logging Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: tools/findit/match_set.py
diff --git a/tools/findit/match_set.py b/tools/findit/match_set.py
index a22d0ef5303b01e541265c83b54cc2fe75bed271..cdb2c8c8e113d31440138e77eb73f49f44731b21 100644
--- a/tools/findit/match_set.py
+++ b/tools/findit/match_set.py
@@ -2,7 +2,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-import logging
import re
from threading import Lock
@@ -10,7 +9,7 @@ from threading import Lock
import crash_utils
-REVIEW_URL_PATTERN = re.compile(r'Review URL:( *)(.*)')
+REVIEW_URL_PATTERN = re.compile(r'Review URL:( *)(.*?)/(\d+)')
class Match(object):
@@ -20,7 +19,7 @@ class Match(object):
contains information about files it changes, their authors, etc.
Attributes:
- is_reverted: True if this CL is reverted by other CL.
+ is_revert: True if this CL is reverted by other CL.
revert_of: If this CL is a revert of some other CL, a revision number/
git hash of that CL.
crashed_line_numbers: The list of lines that caused crash for this CL.
@@ -33,10 +32,9 @@ class Match(object):
component_name: The name of the component that this CL belongs to.
stack_frame_indices: For files that caused crash, list of where in the
stackframe they occur.
- rank: The highest priority among the files the CL changes. Priority = 1
- if it changes the crashed line, and priority = 2 if it is a simple
- file change.
- priorities: A list of priorities for each of the changed file.
+ priorities: A list of priorities for each of the changed file. A priority
+ is 1 if the file changes a crashed line, and 2 if it changes
+ the file but not the crashed line.
reivision_url: The revision URL of the CL.
review_url: The codereview URL that reviews this CL.
reviewers: The list of people that reviewed this CL.
@@ -45,17 +43,18 @@ class Match(object):
REVERT_PATTERN = re.compile(r'(revert\w*) r?(\d+)', re.I)
def __init__(self, revision, component_name):
- self.is_reverted = False
+ self.is_revert = False
self.revert_of = None
+ self.message = None
self.crashed_line_numbers = []
self.function_list = []
self.min_distance = crash_utils.INFINITY
+ self.min_distance_info = None
self.changed_files = []
self.changed_file_urls = []
self.author = revision['author']
self.component_name = component_name
self.stack_frame_indices = []
- self.rank = crash_utils.INFINITY
self.priorities = []
self.revision_url = revision['url']
self.review_url = ''
@@ -72,6 +71,7 @@ class Match(object):
message: The message to parse.
codereview_api_url: URL to retrieve codereview data from.
"""
+ self.message = message
for line in message.splitlines():
line = line.strip()
review_url_line_match = REVIEW_URL_PATTERN.match(line)
@@ -80,14 +80,12 @@ class Match(object):
if review_url_line_match:
# Get review number for the code review site from the line.
- issue_number = review_url_line_match.group(2)
+ issue_number = review_url_line_match.group(3)
# Get JSON from the code review site, ignore the line if it fails.
url = codereview_api_url % issue_number
json_string = crash_utils.GetDataFromURL(url)
if not json_string:
- logging.warning('Failed to retrieve code review information from %s',
- url)
continue
# Load the JSON from the string, and get the list of reviewers.
@@ -97,7 +95,7 @@ class Match(object):
# Check if this CL is a revert of other CL.
if line.lower().startswith('revert'):
- self.is_reverted = True
+ self.is_revert = True
# Check if the line says what CL this CL is a revert of.
revert = self.REVERT_PATTERN.match(line)

Powered by Google App Engine
This is Rietveld 408576698