| 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 contextlib | 5 import contextlib |
| 6 import copy | 6 import copy |
| 7 import itertools |
| 7 import json | 8 import json |
| 8 | 9 |
| 9 from infra.libs.infra_types import freeze, thaw | 10 from infra.libs.infra_types import freeze, thaw |
| 10 from recipe_engine import recipe_api | 11 from recipe_engine import recipe_api |
| 11 from recipe_engine import util as recipe_util | 12 from recipe_engine import util as recipe_util |
| 12 | 13 |
| 13 from . import builders | 14 from . import builders |
| 14 from . import steps | 15 from . import steps |
| 15 | 16 |
| 16 | 17 |
| (...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 try: | 487 try: |
| 487 self.m.chromium.runhooks(name='runhooks (without patch)') | 488 self.m.chromium.runhooks(name='runhooks (without patch)') |
| 488 except self.m.step.StepFailure: | 489 except self.m.step.StepFailure: |
| 489 self.m.tryserver.set_transient_failure_tryjob_result() | 490 self.m.tryserver.set_transient_failure_tryjob_result() |
| 490 raise | 491 raise |
| 491 | 492 |
| 492 def run_tests_and_deapply_as_needed(self, mastername, api, tests, | 493 def run_tests_and_deapply_as_needed(self, mastername, api, tests, |
| 493 bot_update_step): | 494 bot_update_step): |
| 494 def deapply_patch_fn(failing_tests): | 495 def deapply_patch_fn(failing_tests): |
| 495 self.deapply_patch(bot_update_step) | 496 self.deapply_patch(bot_update_step) |
| 496 compile_targets = list(self.m.itertools.chain( | 497 compile_targets = list(itertools.chain( |
| 497 *[t.compile_targets(api) for t in failing_tests])) | 498 *[t.compile_targets(api) for t in failing_tests])) |
| 498 if compile_targets: | 499 if compile_targets: |
| 499 # Remove duplicate targets. | 500 # Remove duplicate targets. |
| 500 compile_targets = sorted(set(compile_targets)) | 501 compile_targets = sorted(set(compile_targets)) |
| 501 has_failing_swarming_tests = [ | 502 has_failing_swarming_tests = [ |
| 502 t for t in failing_tests if t.uses_swarming] | 503 t for t in failing_tests if t.uses_swarming] |
| 503 if has_failing_swarming_tests: | 504 if has_failing_swarming_tests: |
| 504 self.m.isolate.clean_isolated_files(self.m.chromium.output_dir) | 505 self.m.isolate.clean_isolated_files(self.m.chromium.output_dir) |
| 505 try: | 506 try: |
| 506 self.m.chromium.compile( | 507 self.m.chromium.compile( |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 694 def get_compile_targets_for_scripts(self): | 695 def get_compile_targets_for_scripts(self): |
| 695 return self.m.python( | 696 return self.m.python( |
| 696 name='get compile targets for scripts', | 697 name='get compile targets for scripts', |
| 697 script=self.m.path['checkout'].join( | 698 script=self.m.path['checkout'].join( |
| 698 'testing', 'scripts', 'get_compile_targets.py'), | 699 'testing', 'scripts', 'get_compile_targets.py'), |
| 699 args=[ | 700 args=[ |
| 700 '--output', self.m.json.output(), | 701 '--output', self.m.json.output(), |
| 701 '--', | 702 '--', |
| 702 ] + self.get_common_args_for_scripts(), | 703 ] + self.get_common_args_for_scripts(), |
| 703 step_test_data=lambda: self.m.json.test_api.output({})) | 704 step_test_data=lambda: self.m.json.test_api.output({})) |
| OLD | NEW |