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 |