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

Side by Side Diff: scripts/slave/recipes/bisect.py

Issue 940123005: Adding ability to bisect recipe to bisect into dependency repos. (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/build.git@hax
Patch Set: Addressing feedback, adding TODOs Created 5 years, 9 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 unified diff | Download patch
OLDNEW
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 14 matching lines...) Expand all
25 bisect_config = base64.b32decode(bisect_config) 25 bisect_config = base64.b32decode(bisect_config)
26 bisect_config = json.loads(bisect_config) 26 bisect_config = json.loads(bisect_config)
27 else: 27 else:
28 bisect_config = api.properties.get('bisect_config') 28 bisect_config = api.properties.get('bisect_config')
29 assert isinstance(bisect_config, collections.Mapping) 29 assert isinstance(bisect_config, collections.Mapping)
30 bisector = api.auto_bisect.create_bisector(bisect_config) 30 bisector = api.auto_bisect.create_bisector(bisect_config)
31 _gather_reference_range(bisector) 31 _gather_reference_range(bisector)
32 _ensure_checkout(api) 32 _ensure_checkout(api)
33 if (not bisector.failed and bisector.check_improvement_direction() and 33 if (not bisector.failed and bisector.check_improvement_direction() and
34 bisector.check_regression_confidence()): 34 bisector.check_regression_confidence()):
35 _bisect_main_loop(bisector) 35 if not bisector.check_bisect_finished(bisector.good_rev):
36 _bisect_main_loop(bisector)
36 else: #pragma: no cover 37 else: #pragma: no cover
37 bisector.bisect_over = True 38 bisector.bisect_over = True
38 bisector.print_result() 39 bisector.print_result()
39 40
40 41
41 def GenTests(api): 42 def GenTests(api):
42 basic_test = api.test('basic') 43 basic_test = api.test('basic')
43 encoded_config_test = api.test('encoded_config_test') 44 encoded_config_test = api.test('encoded_config_test')
44 broken_cp_test = api.test('broken_cp_test') 45 broken_cp_test = api.test('broken_cp_test')
45 broken_hash_test = api.test('broken_hash_test') 46 broken_hash_test = api.test('broken_hash_test')
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 If such revision completes the bisect process it sets the flag so that the 221 If such revision completes the bisect process it sets the flag so that the
221 main loop stops. 222 main loop stops.
222 """ 223 """
223 while revisions_to_check: 224 while revisions_to_check:
224 completed_revision = bisector.wait_for_any(revisions_to_check) 225 completed_revision = bisector.wait_for_any(revisions_to_check)
225 revisions_to_check.remove(completed_revision) 226 revisions_to_check.remove(completed_revision)
226 if not completed_revision.aborted: 227 if not completed_revision.aborted:
227 if bisector.check_bisect_finished(completed_revision): 228 if bisector.check_bisect_finished(completed_revision):
228 bisector.bisect_over = True 229 bisector.bisect_over = True
229 bisector.abort_unnecessary_jobs() 230 bisector.abort_unnecessary_jobs()
OLDNEW
« no previous file with comments | « scripts/slave/recipe_modules/auto_bisect/test_results_cache.py ('k') | scripts/slave/recipes/bisect.expected/basic.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698