OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 copy | 5 import copy |
6 | 6 |
7 from slave import recipe_api | 7 from slave import recipe_api |
8 | 8 |
9 | 9 |
10 # Different types of builds this recipe module can do. | 10 # Different types of builds this recipe module can do. |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 tests = bot_config.get('tests', []) | 214 tests = bot_config.get('tests', []) |
215 if override_tests is not None: | 215 if override_tests is not None: |
216 tests = override_tests | 216 tests = override_tests |
217 | 217 |
218 self.m.chromium.cleanup_temp() | 218 self.m.chromium.cleanup_temp() |
219 if self.m.chromium.c.TARGET_PLATFORM == 'android': | 219 if self.m.chromium.c.TARGET_PLATFORM == 'android': |
220 self.m.chromium_android.clean_local_files() | 220 self.m.chromium_android.clean_local_files() |
221 | 221 |
222 if bot_type in ['builder', 'builder_tester']: | 222 if bot_type in ['builder', 'builder_tester']: |
223 compile_targets = set(bot_config.get('compile_targets', [])) | 223 compile_targets = set(bot_config.get('compile_targets', [])) |
224 for test in tests: | 224 tests_including_triggered = tests[:] |
225 compile_targets.update(test.compile_targets(self.m)) | |
226 for loop_buildername, builder_dict in master_dict.get( | 225 for loop_buildername, builder_dict in master_dict.get( |
227 'builders', {}).iteritems(): | 226 'builders', {}).iteritems(): |
228 if builder_dict.get('parent_buildername') == buildername: | 227 if builder_dict.get('parent_buildername') == buildername: |
229 for test in builder_dict.get('tests', []): | 228 for test in builder_dict.get('tests', []): |
230 compile_targets.update(test.compile_targets(self.m)) | 229 tests_including_triggered.append(test) |
| 230 |
| 231 for t in tests_including_triggered: |
| 232 compile_targets.update(t.compile_targets(self.m)) |
231 | 233 |
232 self.m.chromium.compile(targets=sorted(compile_targets)) | 234 self.m.chromium.compile(targets=sorted(compile_targets)) |
233 self.m.chromium.checkdeps() | 235 self.m.chromium.checkdeps() |
234 | 236 |
235 if self.m.chromium.c.TARGET_PLATFORM == 'android': | 237 if self.m.chromium.c.TARGET_PLATFORM == 'android': |
236 self.m.chromium_android.check_webview_licenses() | 238 self.m.chromium_android.check_webview_licenses() |
237 self.m.chromium_android.findbugs() | 239 self.m.chromium_android.findbugs() |
238 | 240 |
239 has_swarming_tests = any(t.uses_swarming for t in tests) | 241 isolated_targets = [ |
240 if bot_config.get('use_isolate'): | 242 t.name for t in tests_including_triggered if t.uses_swarming |
241 self.m.isolate.find_isolated_tests(self.m.chromium.output_dir) | 243 ] |
242 # TODO(phajdan.jr): Always use the below codepath once fully tested. | 244 if isolated_targets: |
243 elif has_swarming_tests: | |
244 isolated_targets = [t.name for t in tests if t.uses_swarming] | |
245 self.m.isolate.find_isolated_tests( | 245 self.m.isolate.find_isolated_tests( |
246 self.m.chromium.output_dir, targets=list(set(isolated_targets))) | 246 self.m.chromium.output_dir, targets=list(set(isolated_targets))) |
247 | 247 |
248 got_revision = update_step.presentation.properties['got_revision'] | 248 got_revision = update_step.presentation.properties['got_revision'] |
249 | 249 |
250 if bot_type == 'builder': | 250 if bot_type == 'builder': |
251 if mastername == 'chromium.linux': | 251 if mastername == 'chromium.linux': |
252 # TODO(samuong): This is restricted to Linux for now until I have more | 252 # TODO(samuong): This is restricted to Linux for now until I have more |
253 # confidence that it is not totally broken. | 253 # confidence that it is not totally broken. |
254 self.m.archive.archive_dependencies( | 254 self.m.archive.archive_dependencies( |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 self.m.chromium.crash_handler() | 317 self.m.chromium.crash_handler() |
318 | 318 |
319 try: | 319 try: |
320 return test_runner() | 320 return test_runner() |
321 finally: | 321 finally: |
322 if self.m.platform.is_win: | 322 if self.m.platform.is_win: |
323 self.m.chromium.process_dumps() | 323 self.m.chromium.process_dumps() |
324 | 324 |
325 if self.m.chromium.c.TARGET_PLATFORM == 'android': | 325 if self.m.chromium.c.TARGET_PLATFORM == 'android': |
326 self.m.chromium_android.common_tests_final_steps() | 326 self.m.chromium_android.common_tests_final_steps() |
OLD | NEW |