| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # | 2 # |
| 3 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 import collections | 7 import collections |
| 8 import copy | 8 import copy |
| 9 import json | 9 import json |
| 10 import os | 10 import os |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 telemetry_tests = ['telemetry_perf_unittests'] | 125 telemetry_tests = ['telemetry_perf_unittests'] |
| 126 telemetry_tests_user_build = ['telemetry_unittests', | 126 telemetry_tests_user_build = ['telemetry_unittests', |
| 127 'telemetry_perf_unittests'] | 127 'telemetry_perf_unittests'] |
| 128 flakiness_server = ( | 128 flakiness_server = ( |
| 129 '--flakiness-server=%s' % constants.UPSTREAM_FLAKINESS_SERVER) | 129 '--flakiness-server=%s' % constants.UPSTREAM_FLAKINESS_SERVER) |
| 130 experimental = ['--experimental'] | 130 experimental = ['--experimental'] |
| 131 bisect_chrome_output_dir = os.path.abspath( | 131 bisect_chrome_output_dir = os.path.abspath( |
| 132 os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, os.pardir, | 132 os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, os.pardir, |
| 133 os.pardir, 'bisect', 'src', 'out')) | 133 os.pardir, 'bisect', 'src', 'out')) |
| 134 B = BotConfig | 134 B = BotConfig |
| 135 H = (lambda steps, extra_args=None, extra_gyp=None, target_arch=None : | 135 H = (lambda steps, extra_args=None, extra_gyp=None, target_arch=None: |
| 136 HostConfig('build/android/buildbot/bb_host_steps.py', steps, extra_args, | 136 HostConfig('build/android/buildbot/bb_host_steps.py', steps, extra_args, |
| 137 extra_gyp, target_arch)) | 137 extra_gyp, target_arch)) |
| 138 T = (lambda tests, extra_args=None : | 138 T = (lambda tests, extra_args=None: |
| 139 TestConfig('build/android/buildbot/bb_device_steps.py', tests, | 139 TestConfig('build/android/buildbot/bb_device_steps.py', tests, |
| 140 extra_args)) | 140 extra_args)) |
| 141 | 141 |
| 142 bot_configs = [ | 142 bot_configs = [ |
| 143 # Main builders | 143 # Main builders |
| 144 B('main-builder-dbg', H(std_build_steps + std_host_tests)), | 144 B('main-builder-dbg', H(std_build_steps + std_host_tests)), |
| 145 B('main-builder-rel', H(std_build_steps)), | 145 B('main-builder-rel', H(std_build_steps)), |
| 146 B('main-clang-builder', | 146 B('main-clang-builder', |
| 147 H(compile_step, extra_gyp='clang=1 component=shared_library')), | 147 H(compile_step, extra_gyp='clang=1 component=shared_library')), |
| 148 B('main-clobber', H(compile_step)), | 148 B('main-clobber', H(compile_step)), |
| 149 B('main-tests-rel', H(std_test_steps), | 149 B('main-tests-rel', H(std_test_steps), |
| 150 T(std_tests + telemetry_tests + chrome_proxy_tests, | 150 T(std_tests + telemetry_tests + chrome_proxy_tests, |
| 151 ['--cleanup', flakiness_server])), | 151 ['--cleanup', flakiness_server])), |
| 152 B('main-tests', H(std_test_steps), | 152 B('main-tests', H(std_test_steps), |
| 153 T(std_tests,['--cleanup', flakiness_server])), | 153 T(std_tests, ['--cleanup', flakiness_server])), |
| 154 | 154 |
| 155 # Other waterfalls | 155 # Other waterfalls |
| 156 B('asan-builder-tests', H(compile_step, | 156 B('asan-builder-tests', H(compile_step, |
| 157 extra_gyp='asan=1 component=shared_library'), | 157 extra_gyp='asan=1 component=shared_library'), |
| 158 T(std_tests, ['--asan', '--asan-symbolize'])), | 158 T(std_tests, ['--asan', '--asan-symbolize'])), |
| 159 B('blink-try-builder', H(compile_step)), | 159 B('blink-try-builder', H(compile_step)), |
| 160 B('chromedriver-fyi-tests-dbg', H(std_test_steps), | 160 B('chromedriver-fyi-tests-dbg', H(std_test_steps), |
| 161 T(['chromedriver'], ['--install=ChromeShell', '--skip-wipe', | 161 T(['chromedriver'], ['--install=ChromeShell', '--skip-wipe', |
| 162 '--cleanup'])), | 162 '--cleanup'])), |
| 163 B('fyi-x86-builder-dbg', | 163 B('fyi-x86-builder-dbg', |
| 164 H(compile_step + std_host_tests, experimental, target_arch='ia32')), | 164 H(compile_step + std_host_tests, experimental, target_arch='ia32')), |
| 165 B('fyi-builder-dbg', | 165 B('fyi-builder-dbg', |
| 166 H(std_build_steps + emma_coverage_tests, experimental, | 166 H(std_build_steps + emma_coverage_tests, experimental, |
| 167 extra_gyp='emma_coverage=1')), | 167 extra_gyp='emma_coverage=1')), |
| 168 B('x86-builder-dbg', | 168 B('x86-builder-dbg', |
| 169 H(compile_step + std_host_tests, target_arch='ia32')), | 169 H(compile_step + std_host_tests, target_arch='ia32')), |
| 170 B('fyi-builder-rel', H(std_build_steps, experimental)), | 170 B('fyi-builder-rel', H(std_build_steps, experimental)), |
| 171 B('fyi-tests', H(std_test_steps), | 171 B('fyi-tests', H(std_test_steps), |
| 172 T(std_tests + python_unittests, | 172 T(std_tests + python_unittests, |
| 173 ['--experimental', flakiness_server, | 173 ['--experimental', flakiness_server, |
| 174 '--coverage-bucket', CHROMIUM_COVERAGE_BUCKET, | 174 '--coverage-bucket', CHROMIUM_COVERAGE_BUCKET, |
| 175 '--cleanup'])), | 175 '--cleanup'])), |
| 176 B('user-build-fyi-tests-dbg', H(std_test_steps), | 176 B('user-build-fyi-tests-dbg', H(std_test_steps), |
| 177 T(telemetry_tests_user_build)), | 177 T(telemetry_tests_user_build)), |
| 178 B('fyi-component-builder-tests-dbg', | 178 B('fyi-component-builder-tests-dbg', |
| 179 H(compile_step, extra_gyp='component=shared_library'), | 179 H(compile_step, extra_gyp='component=shared_library'), |
| 180 T(std_tests, ['--experimental', flakiness_server])), | 180 T(std_tests, ['--experimental', flakiness_server])), |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 return bot_map | 227 return bot_map |
| 228 | 228 |
| 229 | 229 |
| 230 # Return an object from the map, looking first for an exact id match. | 230 # Return an object from the map, looking first for an exact id match. |
| 231 # If this fails, look for an id which is a substring of the specified id. | 231 # If this fails, look for an id which is a substring of the specified id. |
| 232 # Choose the longest of all substring matches. | 232 # Choose the longest of all substring matches. |
| 233 # pylint: disable=W0622 | 233 # pylint: disable=W0622 |
| 234 def GetBestMatch(id_map, id): | 234 def GetBestMatch(id_map, id): |
| 235 config = id_map.get(id) | 235 config = id_map.get(id) |
| 236 if not config: | 236 if not config: |
| 237 substring_matches = filter(lambda x: x in id, id_map.iterkeys()) | 237 substring_matches = [x for x in id_map.iterkeys() if x in id] |
| 238 if substring_matches: | 238 if substring_matches: |
| 239 max_id = max(substring_matches, key=len) | 239 max_id = max(substring_matches, key=len) |
| 240 print 'Using config from id="%s" (substring match).' % max_id | 240 print 'Using config from id="%s" (substring match).' % max_id |
| 241 config = id_map[max_id] | 241 config = id_map[max_id] |
| 242 return config | 242 return config |
| 243 | 243 |
| 244 | 244 |
| 245 def GetRunBotOptParser(): | 245 def GetRunBotOptParser(): |
| 246 parser = bb_utils.GetParser() | 246 parser = bb_utils.GetParser() |
| 247 parser.add_option('--bot-id', help='Specify bot id directly.') | 247 parser.add_option('--bot-id', help='Specify bot id directly.') |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 for command in commands: | 305 for command in commands: |
| 306 print 'Will run: ', bb_utils.CommandToString(command) | 306 print 'Will run: ', bb_utils.CommandToString(command) |
| 307 print | 307 print |
| 308 | 308 |
| 309 env = GetEnvironment(bot_config.host_obj, options.testing) | 309 env = GetEnvironment(bot_config.host_obj, options.testing) |
| 310 return RunBotCommands(options, commands, env) | 310 return RunBotCommands(options, commands, env) |
| 311 | 311 |
| 312 | 312 |
| 313 if __name__ == '__main__': | 313 if __name__ == '__main__': |
| 314 sys.exit(main(sys.argv)) | 314 sys.exit(main(sys.argv)) |
| OLD | NEW |