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

Unified Diff: tools/auto_bisect/bisect_perf_regression.py

Issue 1156963003: Fix confidence check and problems with successive builds due to symlinks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix for invalid confidence was wrong; now correct Created 5 years, 7 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 | tools/auto_bisect/bisect_utils.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/auto_bisect/bisect_perf_regression.py
diff --git a/tools/auto_bisect/bisect_perf_regression.py b/tools/auto_bisect/bisect_perf_regression.py
index 233a62d7723ce28a26037ef998586fe5a573da36..5c9646bd3a3d93df5d613609c64921bf7ae4978a 100755
--- a/tools/auto_bisect/bisect_perf_regression.py
+++ b/tools/auto_bisect/bisect_perf_regression.py
@@ -503,7 +503,8 @@ def _CheckRegressionConfidenceError(
confidence_params.append(averages)
else:
confidence_params.append(l)
- regression_confidence = BisectResults.ConfidenceScore(*confidence_params)
+ regression_confidence = BisectResults.ConfidenceScore(
+ *confidence_params, accept_single_bad_or_good=True)
if regression_confidence < REGRESSION_CONFIDENCE:
error = REGRESSION_CONFIDENCE_ERROR_TEMPLATE.format(
good_rev=good_revision,
@@ -1218,6 +1219,18 @@ class BisectPerformanceMetrics(object):
"""
if self.opts.debug_ignore_build:
return True
+ # Some "runhooks" calls create symlinks that other (older?) versions
+ # do not handle correctly causing the build to fail. We want to avoid
+ # clearing the entire out/ directory so that changes close together will
+ # build faster so we just clear out all symlinks on the expectation that
+ # the next "runhooks" call will recreate everything properly. Ignore
+ # failures (like Windows that doesn't have "find").
+ try:
+ bisect_utils.RunProcess(
+ ['find', 'out/', '-type', 'l', '-exec', 'rm', '-f', '{}', ';'],
+ cwd=self.src_cwd, shell=False)
+ except OSError:
+ pass
return not bisect_utils.RunGClient(['runhooks'], cwd=self.src_cwd)
def _IsBisectModeUsingMetric(self):
« no previous file with comments | « no previous file | tools/auto_bisect/bisect_utils.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698