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

Unified Diff: tools/bisect-perf-regression.py

Issue 499753002: Restrict windows dead zone revisions from bisect. (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-perf-regression.py
diff --git a/tools/bisect-perf-regression.py b/tools/bisect-perf-regression.py
index 993947a3ce6ce2614f7b5171253eb565534aa852..8f7afcfa4ef02e03e27ef46f29bf1fc16f9d693b 100755
--- a/tools/bisect-perf-regression.py
+++ b/tools/bisect-perf-regression.py
@@ -2240,23 +2240,25 @@ class BisectPerformanceMetrics(object):
# Cros/svn use integers
return int(good_revision) <= int(bad_revision)
- def CanPerformBisect(self, revision_to_check):
+ def CanPerformBisect(self, good_revision, bad_revision):
"""Checks whether a given revision is bisectable.
- Note: At present it checks whether a given revision is bisectable on
- android bots(refer crbug.com/385324).
+ Checks for following:
+ 1. Non-bisectable revsions for android bots (refer to crbug.com/385324).
+ 2. Non-bisectable revsions for Windows bots (refer to crbug.com/405274).
Args:
- revision_to_check: Known good revision.
+ good_revision: Known good revision.
+ bad_revision: Known bad revision.
Returns:
A dictionary indicating the result. If revision is not bisectable,
this will contain the field "error", otherwise None.
"""
if self.opts.target_platform == 'android':
- revision_to_check = self.source_control.SVNFindRev(revision_to_check)
- if (bisect_utils.IsStringInt(revision_to_check)
- and revision_to_check < 265549):
+ good_revision = self.source_control.SVNFindRev(good_revision)
+ if (bisect_utils.IsStringInt(good_revision)
+ and good_revision < 265549):
return {'error': (
'Bisect cannot conitnue for the given revision range.\n'
'It is impossible to bisect Android regressions '
@@ -2264,6 +2266,18 @@ class BisectPerformanceMetrics(object):
'rely on Telemetry to do apk installation of the most recently '
'built local ChromeShell(refer to crbug.com/385324).\n'
'Please try bisecting revisions greater than or equal to r265549.')}
+
+ if bisect_utils.IsWindowsHost():
+ good_revision = self.source_control.SVNFindRev(good_revision)
+ bad_revision = self.source_control.SVNFindRev(bad_revision)
+ if (bisect_utils.IsStringInt(good_revision) and
+ bisect_utils.IsStringInt(bad_revision)):
+ if (289987 <= good_revision < 290716 or
+ 289987 <= bad_revision < 290716):
+ return {'error': ('Oops! Revision between r289987 and r290716 are '
+ 'marked as dead zone for Windows due to '
+ 'crbug.com/405274. Please try another range.')}
+
return None
def Run(self, command_to_run, bad_revision_in, good_revision_in, metric):
@@ -2353,7 +2367,7 @@ class BisectPerformanceMetrics(object):
if self.opts.output_buildbot_annotations:
bisect_utils.OutputAnnotationStepStart('Gathering Revisions')
- cannot_bisect = self.CanPerformBisect(good_revision)
+ cannot_bisect = self.CanPerformBisect(good_revision, bad_revision)
if cannot_bisect:
results['error'] = cannot_bisect.get('error')
return results
« 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