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

Unified Diff: tools/bisect-builds.py

Issue 463243002: bisect-builds.py: Minor bug fixes for blink bisect and better error handling. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/bisect-builds.py
diff --git a/tools/bisect-builds.py b/tools/bisect-builds.py
index fb4bac250d544b5ee793f14c4e85d3a97c2dbe9d..7d2156e7f9c466b5da44af3a17689f09ca7921b5 100755
--- a/tools/bisect-builds.py
+++ b/tools/bisect-builds.py
@@ -321,7 +321,12 @@ class PathContext(object):
except urllib.HTTPError as error:
msg = 'HTTP Error %d for %s' % (error.getcode(), git_sha1)
return None
- data = json.loads(response.read()[4:])
+ try:
+ response_data = response.read()
+ data = json.loads(response_data[4:])
+ except ValueError:
+ print 'Response string for %s is "%s"' % (json_url, response_data)
+ raise ValueError
if 'message' in data:
message = data['message'].split('\n')
message = [line for line in message if line.strip()]
@@ -842,7 +847,7 @@ def Bisect(base_url,
rev = revlist[pivot]
- return (revlist[minrev], revlist[maxrev])
+ return (revlist[minrev], revlist[maxrev], context)
def GetBlinkDEPSRevisionForChromiumRevision(rev):
@@ -872,12 +877,17 @@ def GetBlinkRevisionForChromiumRevision(self, rev):
file_url = '%s/%s%s/REVISIONS' % (self.base_url,
self._listing_platform_dir, rev)
url = urllib.urlopen(file_url)
- data = json.loads(url.read())
+ try:
+ response = url.read()
+ data = json.loads(response)
+ except ValueError:
+ print 'Response from %s: "%s"' % (file_url, response)
+ raise ValueError
url.close()
if 'webkit_revision' in data:
blink_rev = data['webkit_revision']
if not _IsRevisionNumber(blink_rev):
- blink_rev = self.GetSVNRevisionFromGitHash(blink_rev, 'blink')
+ blink_rev = int(self.GetSVNRevisionFromGitHash(blink_rev, 'blink'))
return blink_rev
else:
raise Exception('Could not get blink revision for cr rev %d' % rev)
@@ -1089,7 +1099,7 @@ def main():
else:
evaluator = AskIsGoodBuild
- (min_chromium_rev, max_chromium_rev) = Bisect(
+ (min_chromium_rev, max_chromium_rev, context) = Bisect(
Robert Sesek 2014/08/12 20:50:11 Why do you need to return context if you're not us
pshenoy 2014/08/12 21:05:06 'context' is passed in GetBlinkRevisionForChromium
Robert Sesek 2014/08/12 21:41:24 Ah, makes sense. Why don't we switch from passing
pshenoy 2014/08/13 18:13:41 Done.
base_url, opts.archive, opts.official_builds, opts.aura, opts.asan,
opts.use_local_repo, good_rev, bad_rev, opts.times, opts.command,
args, opts.profile, opts.flash_path, opts.pdf_path,
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698