Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(98)

Side by Side Diff: scripts/slave/recipe_modules/chromium_tests/api.py

Issue 1419643002: Ignore compile_targets returned by analyze and rely completely on matching_exes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 ast 5 import ast
6 import contextlib 6 import contextlib
7 import copy 7 import copy
8 import itertools 8 import itertools
9 import json 9 import json
10 10
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 622
623 if self.m.filter.matches_exclusion: 623 if self.m.filter.matches_exclusion:
624 requires_compile = bool(exes or compile_targets) 624 requires_compile = bool(exes or compile_targets)
625 return requires_compile, exes, compile_targets 625 return requires_compile, exes, compile_targets
626 626
627 if not self.m.filter.result: 627 if not self.m.filter.result:
628 # Patch does not require compile. 628 # Patch does not require compile.
629 return False, [], [] 629 return False, [], []
630 630
631 compile_targets = self.m.filter.compile_targets 631 compile_targets = self.m.filter.compile_targets
632 matching_exes = self.m.filter.matching_exes
Dirk Pranke 2015/10/20 20:08:31 Why keep both compile_targets and matching_exes? W
Dirk Pranke 2015/10/20 20:10:06 (as noted in the other comment)
632 633
633 # Add crash_service to compile_targets. This is done after filtering compile 634 # Add crash_service to compile_targets. This is done after filtering compile
634 # targets out because crash_service should always be there on windows. 635 # targets out because crash_service should always be there on windows.
635 # TODO(akuegel): Need to solve this in a better way. crbug.com/478053 636 # TODO(akuegel): Need to solve this in a better way. crbug.com/478053
636 if (self.m.platform.is_win and compile_targets and 637 if (self.m.platform.is_win and compile_targets and
637 'crash_service' not in compile_targets): 638 'crash_service' not in compile_targets):
638 compile_targets.extend(['crash_service']) 639 compile_targets.extend(['crash_service'])
640 matching_exes.extend(['crash_service'])
639 641
640 # Emit more detailed output useful for debugging. 642 # Emit more detailed output useful for debugging.
641 analyze_details = { 643 analyze_details = {
642 'original_exes': original_exes, 644 'original_exes': original_exes,
643 'original_compile_targets': original_compile_targets, 645 'original_compile_targets': original_compile_targets,
644 'compile_targets': compile_targets, 646 'compile_targets': compile_targets,
647 'matching_exes': matching_exes,
645 'self.m.filter.compile_targets': self.m.filter.compile_targets, 648 'self.m.filter.compile_targets': self.m.filter.compile_targets,
646 'self.m.filter.matching_exes': self.m.filter.matching_exes, 649 'self.m.filter.matching_exes': self.m.filter.matching_exes,
647 } 650 }
648 with contextlib.closing(recipe_util.StringListIO()) as listio: 651 with contextlib.closing(recipe_util.StringListIO()) as listio:
649 json.dump(analyze_details, listio, indent=2, sort_keys=True) 652 json.dump(analyze_details, listio, indent=2, sort_keys=True)
650 step_result = self.m.step.active_result 653 step_result = self.m.step.active_result
651 step_result.presentation.logs['analyze_details'] = listio.lines 654 step_result.presentation.logs['analyze_details'] = listio.lines
652 655
653 # Note: due to our custom logic above it's possible we end up with empty 656 # Note: due to our custom logic above it's possible we end up with empty
654 # results. In this case we should not compile, because doing so would 657 # results. In this case we should not compile, because doing so would
655 # use default compile targets (i.e. compile too much). 658 # use default compile targets (i.e. compile too much).
656 requires_compile = bool(self.m.filter.matching_exes or compile_targets) 659 requires_compile = bool(matching_exes or compile_targets)
657 return requires_compile, self.m.filter.matching_exes, compile_targets 660 return requires_compile, matching_exes, compile_targets
658 661
659 def configure_swarming(self, project_name, precommit, mastername=None): 662 def configure_swarming(self, project_name, precommit, mastername=None):
660 """Configures default swarming dimensions and tags. 663 """Configures default swarming dimensions and tags.
661 664
662 Args: 665 Args:
663 project_name: Lowercase name of the project, e.g. "blink", "chromium". 666 project_name: Lowercase name of the project, e.g. "blink", "chromium".
664 precommit: Boolean flag to indicate whether the tests are running before 667 precommit: Boolean flag to indicate whether the tests are running before
665 the changes are commited. 668 the changes are commited.
666 """ 669 """
667 self.m.swarming.set_default_dimension('pool', 'Chrome') 670 self.m.swarming.set_default_dimension('pool', 'Chrome')
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 result_text = 'MB is enabled for this builder at this revision.' 796 result_text = 'MB is enabled for this builder at this revision.'
794 log_name = 'Builder MB-ready' 797 log_name = 'Builder MB-ready'
795 self.m.step.active_result.presentation.logs[log_name] = [result_text] 798 self.m.step.active_result.presentation.logs[log_name] = [result_text]
796 return False 799 return False
797 except (self.m.step.StepFailure, KeyError): 800 except (self.m.step.StepFailure, KeyError):
798 result_text = 'MB is not enabled for this builder at this revision.' 801 result_text = 'MB is not enabled for this builder at this revision.'
799 log_name = 'Builder NOT MB-ready' 802 log_name = 'Builder NOT MB-ready'
800 self.m.step.active_result.presentation.logs[log_name] = [result_text] 803 self.m.step.active_result.presentation.logs[log_name] = [result_text]
801 self.m.step.active_result.presentation.status = self.m.step.WARNING 804 self.m.step.active_result.presentation.status = self.m.step.WARNING
802 return True 805 return True
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698