| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 """A command to fetch new baselines from try jobs for the current CL.""" | 5 """A command to fetch new baselines from try jobs for the current CL.""" |
| 6 | 6 |
| 7 import json | 7 import json |
| 8 import logging | 8 import logging |
| 9 import optparse | 9 import optparse |
| 10 | 10 |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 if not issue.isdigit(): | 108 if not issue.isdigit(): |
| 109 return None | 109 return None |
| 110 return int(issue) | 110 return int(issue) |
| 111 | 111 |
| 112 def git_cl(self): | 112 def git_cl(self): |
| 113 """Returns a GitCL instance. Can be overridden for tests.""" | 113 """Returns a GitCL instance. Can be overridden for tests.""" |
| 114 return GitCL(self._tool) | 114 return GitCL(self._tool) |
| 115 | 115 |
| 116 def trigger_builds(self, builders): | 116 def trigger_builds(self, builders): |
| 117 _log.info('Triggering try jobs for:') | 117 _log.info('Triggering try jobs for:') |
| 118 command = ['try'] | |
| 119 for builder in sorted(builders): | 118 for builder in sorted(builders): |
| 120 _log.info(' %s', builder) | 119 _log.info(' %s', builder) |
| 121 command.extend(['-b', builder]) | 120 self.git_cl().trigger_try_jobs(builders) |
| 122 self.git_cl().run(command) | |
| 123 | 121 |
| 124 def builders_with_no_results(self, builds): | 122 def builders_with_no_results(self, builds): |
| 125 """Returns the set of builders that don't have finished results.""" | 123 """Returns the set of builders that don't have finished results.""" |
| 126 builders_with_no_builds = set(self._try_bots()) - {b.builder_name for b
in builds} | 124 builders_with_no_builds = set(self._try_bots()) - {b.builder_name for b
in builds} |
| 127 return builders_with_no_builds | self.builders_with_pending_builds(build
s) | 125 return builders_with_no_builds | self.builders_with_pending_builds(build
s) |
| 128 | 126 |
| 129 def builders_with_pending_builds(self, builds): | 127 def builders_with_pending_builds(self, builds): |
| 130 """Returns the set of builders that have pending builds.""" | 128 """Returns the set of builders that have pending builds.""" |
| 131 return {b.builder_name for b in builds if b.build_number is None} | 129 return {b.builder_name for b in builds if b.build_number is None} |
| 132 | 130 |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 def _log_test_prefix_list(test_prefix_list): | 228 def _log_test_prefix_list(test_prefix_list): |
| 231 """Logs the tests to download new baselines for.""" | 229 """Logs the tests to download new baselines for.""" |
| 232 if not test_prefix_list: | 230 if not test_prefix_list: |
| 233 _log.info('No tests to rebaseline; exiting.') | 231 _log.info('No tests to rebaseline; exiting.') |
| 234 return | 232 return |
| 235 _log.debug('Tests to rebaseline:') | 233 _log.debug('Tests to rebaseline:') |
| 236 for test, builds in test_prefix_list.iteritems(): | 234 for test, builds in test_prefix_list.iteritems(): |
| 237 _log.debug(' %s:', test) | 235 _log.debug(' %s:', test) |
| 238 for build in sorted(builds): | 236 for build in sorted(builds): |
| 239 _log.debug(' %s', build) | 237 _log.debug(' %s', build) |
| OLD | NEW |