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

Side by Side Diff: scripts/slave/recipes/chromium_trybot.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 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 collections 5 import collections
6 6
7 from recipe_engine.types import freeze 7 from recipe_engine.types import freeze
8 8
9 DEPS = [ 9 DEPS = [
10 'amp', 10 'amp',
(...skipping 719 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 bot_config['mastername'], 730 bot_config['mastername'],
731 bot_config['buildername'], 731 bot_config['buildername'],
732 master_dict, 732 master_dict,
733 test_spec, 733 test_spec,
734 override_bot_type='builder_tester', 734 override_bot_type='builder_tester',
735 override_tests=tests) 735 override_tests=tests)
736 736
737 targets_for_analyze = sorted(set( 737 targets_for_analyze = sorted(set(
738 all_compile_targets(api, tests + tests_including_triggered) + 738 all_compile_targets(api, tests + tests_including_triggered) +
739 compile_targets)) 739 compile_targets))
740 requires_compile, matching_exes, compile_targets = \ 740 requires_compile, matching_exes, _ = \
741 api.chromium_tests.analyze( 741 api.chromium_tests.analyze(
Dirk Pranke 2015/10/20 20:10:06 why not change the signature of analyze() to not t
sky 2015/10/21 16:16:13 Especially since the return values of the two are
742 affected_files, 742 affected_files,
743 targets_for_analyze, 743 targets_for_analyze,
744 compile_targets, 744 targets_for_analyze,
745 'trybot_analyze_config.json') 745 'trybot_analyze_config.json')
746 if bot_config.get('analyze_mode') == 'compile': 746 if bot_config.get('analyze_mode') == 'compile':
747 # Do not pass tests to compile_specific_targets below. It assumes 747 # Do not pass tests to compile_specific_targets below. It assumes
748 # all of these targets would be compiled (matching_exes), but that's 748 # all of these targets would be compiled (matching_exes), but that's
749 # explicitly what we're not doing here. One example of how this may 749 # explicitly what we're not doing here. One example of how this may
750 # break is only foo_unittests being in returned compile_targets, 750 # break is only foo_unittests being in returned compile_targets,
751 # while matching_exes containing both foo_unittests and foo_unittests_run. 751 # while matching_exes containing both foo_unittests and foo_unittests_run.
752 # Then if we proceed with tests passed to compile_specific_targets, 752 # Then if we proceed with tests passed to compile_specific_targets,
753 # trying to isolate affected targets may fail. 753 # trying to isolate affected targets may fail.
754 tests = [] 754 tests = []
755 tests_including_triggered = [] 755 tests_including_triggered = []
756 756
757 # TODO(sergiyb): This is a hotfix that should be removed if we implement a 757 compile_targets = sorted(set(matching_exes))
758 # proper long-term fix. It is currently needed to ensure that we compile
759 # matching_exes also when a bot is running analyze in compile-only mode and
760 # stay consistent with corresponding waterfall bots. Please see
761 # http://crbug.com/529798 for more context.
762 compile_targets = sorted(set(compile_targets + matching_exes))
763 else:
764 # Note that compile_targets doesn't necessarily include matching_exes,
765 # and for correctness we need to add them. Otherwise it's possible we'd
766 # only build say foo_unittests but not foo_unittests_run and fail when
767 # trying to isolate the tests. Also see above comment.
768 compile_targets = sorted(set(compile_targets + matching_exes))
769 758
770 # Blink tests have to bypass "analyze", see below. 759 # Blink tests have to bypass "analyze", see below.
771 if requires_compile or add_blink_tests: 760 if requires_compile or add_blink_tests:
772 tests = tests_in_compile_targets(api, matching_exes, tests) 761 tests = tests_in_compile_targets(api, matching_exes, tests)
773 tests_including_triggered = tests_in_compile_targets( 762 tests_including_triggered = tests_in_compile_targets(
774 api, matching_exes, tests_including_triggered) 763 api, matching_exes, tests_including_triggered)
775 764
776 # Blink tests are tricky at this moment. We'd like to use "analyze" for 765 # Blink tests are tricky at this moment. We'd like to use "analyze" for
777 # everything else. However, there are blink changes that only add or modify 766 # everything else. However, there are blink changes that only add or modify
778 # layout test files (html etc). This is not recognized by "analyze" as 767 # layout test files (html etc). This is not recognized by "analyze" as
(...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after
1599 api.test_utils.canned_test_output(passing=True)) 1588 api.test_utils.canned_test_output(passing=True))
1600 ) 1589 )
1601 1590
1602 yield ( 1591 yield (
1603 api.test('use_v8_patch_on_blink_trybot') + 1592 api.test('use_v8_patch_on_blink_trybot') +
1604 props(mastername='tryserver.blink', 1593 props(mastername='tryserver.blink',
1605 buildername='mac_blink_rel', 1594 buildername='mac_blink_rel',
1606 patch_project='v8') + 1595 patch_project='v8') +
1607 api.platform.name('mac') 1596 api.platform.name('mac')
1608 ) 1597 )
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698