Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 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 base64 | 5 import base64 |
| 6 import collections | 6 import collections |
| 7 import json | 7 import json |
| 8 | 8 |
| 9 DEPS = [ | 9 DEPS = [ |
| 10 'auto_bisect', | 10 'auto_bisect', |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 226 test_results))) | 226 test_results))) |
| 227 | 227 |
| 228 if 'cl_info' in revision_data: | 228 if 'cl_info' in revision_data: |
| 229 step_name = 'Reading culprit cl information.' | 229 step_name = 'Reading culprit cl information.' |
| 230 stdout = api.raw_io.output(revision_data['cl_info']) | 230 stdout = api.raw_io.output(revision_data['cl_info']) |
| 231 yield api.step_data(step_name, stdout=stdout) | 231 yield api.step_data(step_name, stdout=stdout) |
| 232 | 232 |
| 233 | 233 |
| 234 def _ensure_checkout(api): | 234 def _ensure_checkout(api): |
| 235 mastername = api.properties.get('mastername') | 235 mastername = api.properties.get('mastername') |
| 236 api.chromium_tests.load_builder_configs(mastername) | |
|
Paweł Hajdan Jr.
2015/06/15 09:09:29
This recipe should be using its own configs rather
Adrian Kuegel
2015/06/15 12:33:22
Done.
| |
| 236 buildername = api.properties.get('buildername') | 237 buildername = api.properties.get('buildername') |
| 237 api.chromium_tests.configure_build(mastername, buildername) | 238 api.chromium_tests.configure_build(mastername, buildername) |
| 238 api.chromium_tests.prepare_checkout(mastername, buildername) | 239 api.chromium_tests.prepare_checkout(mastername, buildername) |
| 239 | 240 |
| 240 | 241 |
| 241 def _gather_reference_range(api, bisector): | 242 def _gather_reference_range(api, bisector): |
| 242 bisector.good_rev.start_job() | 243 bisector.good_rev.start_job() |
| 243 bisector.bad_rev.start_job() | 244 bisector.bad_rev.start_job() |
| 244 bisector.wait_for_all([bisector.good_rev, bisector.bad_rev]) | 245 bisector.wait_for_all([bisector.good_rev, bisector.bad_rev]) |
| 245 if bisector.good_rev.failed: | 246 if bisector.good_rev.failed: |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 279 If such revision completes the bisect process it sets the flag so that the | 280 If such revision completes the bisect process it sets the flag so that the |
| 280 main loop stops. | 281 main loop stops. |
| 281 """ | 282 """ |
| 282 while revisions_to_check: | 283 while revisions_to_check: |
| 283 completed_revision = bisector.wait_for_any(revisions_to_check) | 284 completed_revision = bisector.wait_for_any(revisions_to_check) |
| 284 revisions_to_check.remove(completed_revision) | 285 revisions_to_check.remove(completed_revision) |
| 285 if not completed_revision.aborted: | 286 if not completed_revision.aborted: |
| 286 if bisector.check_bisect_finished(completed_revision): | 287 if bisector.check_bisect_finished(completed_revision): |
| 287 bisector.bisect_over = True | 288 bisector.bisect_over = True |
| 288 bisector.abort_unnecessary_jobs() | 289 bisector.abort_unnecessary_jobs() |
| OLD | NEW |