| 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 """API for the bisect recipe module. | 5 """API for the bisect recipe module. |
| 6 | 6 |
| 7 This API is meant to enable the bisect recipe to bisect any chromium-supported | 7 This API is meant to enable the bisect recipe to bisect any chromium-supported |
| 8 platform for any test that can be run via buildbot, perf or otherwise. | 8 platform for any test that can be run via buildbot, perf or otherwise. |
| 9 """ | 9 """ |
| 10 | 10 |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 self.surface_result('BAD_REV') | 155 self.surface_result('BAD_REV') |
| 156 raise | 156 raise |
| 157 | 157 |
| 158 | 158 |
| 159 def run_bisect_script(self, **kwargs): | 159 def run_bisect_script(self, **kwargs): |
| 160 """Executes src/tools/run-perf-bisect-regression.py to perform bisection.""" | 160 """Executes src/tools/run-perf-bisect-regression.py to perform bisection.""" |
| 161 self.m.python( | 161 self.m.python( |
| 162 'Preparing for Bisection', | 162 'Preparing for Bisection', |
| 163 script=self.m.path['checkout'].join( | 163 script=self.m.path['checkout'].join( |
| 164 'tools', 'prepare-bisect-perf-regression.py'), | 164 'tools', 'prepare-bisect-perf-regression.py'), |
| 165 args=['-w', self.m.infra_paths['slave_build']]) | 165 args=['-w', self.m.path['slave_build']]) |
| 166 args = [] | 166 args = [] |
| 167 | 167 |
| 168 kwargs['allow_subannotations'] = True | 168 kwargs['allow_subannotations'] = True |
| 169 | 169 |
| 170 # TODO(prasadv): Remove this once bisect runs are no longer running | 170 # TODO(prasadv): Remove this once bisect runs are no longer running |
| 171 # against revisions from February 2016 or earlier. | 171 # against revisions from February 2016 or earlier. |
| 172 if self.internal_bisect: # pragma: no cover | 172 if self.internal_bisect: # pragma: no cover |
| 173 kwargs['env'] = {'CHROMIUM_OUTPUT_DIR': self.m.chromium.output_dir} | 173 kwargs['env'] = {'CHROMIUM_OUTPUT_DIR': self.m.chromium.output_dir} |
| 174 | 174 |
| 175 if kwargs.get('extra_src'): | 175 if kwargs.get('extra_src'): |
| 176 args = args + ['--extra_src', kwargs.pop('extra_src')] | 176 args = args + ['--extra_src', kwargs.pop('extra_src')] |
| 177 if kwargs.get('path_to_config'): | 177 if kwargs.get('path_to_config'): |
| 178 args = args + ['--path_to_config', kwargs.pop('path_to_config')] | 178 args = args + ['--path_to_config', kwargs.pop('path_to_config')] |
| 179 if self.m.chromium.c.TARGET_PLATFORM != 'android': | 179 if self.m.chromium.c.TARGET_PLATFORM != 'android': |
| 180 # TODO(phajdan.jr): update for swarming, http://crbug.com/585401 . | 180 # TODO(phajdan.jr): update for swarming, http://crbug.com/585401 . |
| 181 args += ['--path_to_goma', self.m.infra_paths['build'].join('goma')] | 181 args += ['--path_to_goma', self.m.path['build'].join('goma')] |
| 182 args += [ | 182 args += [ |
| 183 '--build-properties', | 183 '--build-properties', |
| 184 self.m.json.dumps(dict(self.m.properties.legacy())), | 184 self.m.json.dumps(dict(self.m.properties.legacy())), |
| 185 ] | 185 ] |
| 186 self.m.chromium.runtest( | 186 self.m.chromium.runtest( |
| 187 self.m.path['checkout'].join('tools', 'run-bisect-perf-regression.py'), | 187 self.m.path['checkout'].join('tools', 'run-bisect-perf-regression.py'), |
| 188 ['-w', self.m.infra_paths['slave_build']] + args, | 188 ['-w', self.m.path['slave_build']] + args, |
| 189 name='Running Bisection', | 189 name='Running Bisection', |
| 190 xvfb=True, **kwargs) | 190 xvfb=True, **kwargs) |
| 191 | 191 |
| 192 def run_local_test_run(self, test_config_params, | 192 def run_local_test_run(self, test_config_params, |
| 193 skip_download=False): # pragma: no cover | 193 skip_download=False): # pragma: no cover |
| 194 """Starts a test run on the same machine. | 194 """Starts a test run on the same machine. |
| 195 | 195 |
| 196 This is for the merged director/tester flow. | 196 This is for the merged director/tester flow. |
| 197 """ | 197 """ |
| 198 if self.m.platform.is_win: | 198 if self.m.platform.is_win: |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 374 local_bisect.perform_bisect(self) # pragma: no cover | 374 local_bisect.perform_bisect(self) # pragma: no cover |
| 375 else: | 375 else: |
| 376 self.start_test_run_for_bisect(update_step, self.bot_db, | 376 self.start_test_run_for_bisect(update_step, self.bot_db, |
| 377 api.properties) | 377 api.properties) |
| 378 else: | 378 else: |
| 379 self.m.perf_try.start_perf_try_job( | 379 self.m.perf_try.start_perf_try_job( |
| 380 affected_files, update_step, self.bot_db) | 380 affected_files, update_step, self.bot_db) |
| 381 finally: | 381 finally: |
| 382 if api.chromium.c.TARGET_PLATFORM == 'android': | 382 if api.chromium.c.TARGET_PLATFORM == 'android': |
| 383 api.chromium_android.common_tests_final_steps() | 383 api.chromium_android.common_tests_final_steps() |
| OLD | NEW |