| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 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 argparse | 5 import argparse |
| 6 import base64 | 6 import base64 |
| 7 import gzip | 7 import gzip |
| 8 import io | 8 import io |
| 9 import json | 9 import json |
| 10 import logging | 10 import logging |
| 11 import os | 11 import os |
| 12 import platform | 12 import platform |
| 13 import subprocess | 13 import subprocess |
| 14 import tempfile | 14 import tempfile |
| 15 import urllib | 15 import urllib |
| 16 import urllib2 | 16 import urllib2 |
| 17 | 17 |
| 18 | 18 |
| 19 from core import benchmark_finders |
| 19 from core import path_util | 20 from core import path_util |
| 20 | 21 |
| 21 from telemetry import benchmark | 22 from telemetry import benchmark |
| 22 from telemetry import decorators | 23 from telemetry import decorators |
| 23 from telemetry.core import discover | |
| 24 from telemetry.util import command_line | 24 from telemetry.util import command_line |
| 25 from telemetry.util import matching | 25 from telemetry.util import matching |
| 26 | 26 |
| 27 | 27 |
| 28 # Unsupported Perf bisect bots. | 28 # Unsupported Perf bisect bots. |
| 29 EXCLUDED_BOTS = { | 29 EXCLUDED_BOTS = { |
| 30 'win_xp_perf_bisect', # Goma issues: crbug.com/330900 | 30 'win_xp_perf_bisect', # Goma issues: crbug.com/330900 |
| 31 'win_perf_bisect_builder', | 31 'win_perf_bisect_builder', |
| 32 'win64_nv_tester', | 32 'win64_nv_tester', |
| 33 'winx64_bisect_builder', | 33 'winx64_bisect_builder', |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 'options available except the --browser option'), | 264 'options available except the --browser option'), |
| 265 formatter_class=argparse.RawTextHelpFormatter) | 265 formatter_class=argparse.RawTextHelpFormatter) |
| 266 return parser | 266 return parser |
| 267 | 267 |
| 268 @classmethod | 268 @classmethod |
| 269 def ProcessCommandLineArgs(cls, parser, options, extra_args, environment): | 269 def ProcessCommandLineArgs(cls, parser, options, extra_args, environment): |
| 270 del environment # unused | 270 del environment # unused |
| 271 for arg in extra_args: | 271 for arg in extra_args: |
| 272 if arg == '--browser' or arg.startswith('--browser='): | 272 if arg == '--browser' or arg.startswith('--browser='): |
| 273 parser.error('--browser=... is not allowed when running trybot.') | 273 parser.error('--browser=... is not allowed when running trybot.') |
| 274 all_benchmarks = discover.DiscoverClasses( | 274 all_benchmarks = benchmark_finders.GetAllPerfBenchmarks() |
| 275 start_dir=path_util.GetPerfBenchmarksDir(), | 275 all_benchmarks.extend(benchmark_finders.GetAllContribBenchmarks()) |
| 276 top_level_dir=path_util.GetPerfDir(), | |
| 277 base_class=benchmark.Benchmark).values() | |
| 278 all_benchmark_names = [b.Name() for b in all_benchmarks] | 276 all_benchmark_names = [b.Name() for b in all_benchmarks] |
| 279 all_benchmarks_by_names = {b.Name(): b for b in all_benchmarks} | 277 all_benchmarks_by_names = {b.Name(): b for b in all_benchmarks} |
| 280 benchmark_class = all_benchmarks_by_names.get(options.benchmark_name, None) | 278 benchmark_class = all_benchmarks_by_names.get(options.benchmark_name, None) |
| 281 if not benchmark_class: | 279 if not benchmark_class: |
| 282 possible_benchmark_names = matching.GetMostLikelyMatchedObject( | 280 possible_benchmark_names = matching.GetMostLikelyMatchedObject( |
| 283 all_benchmark_names, options.benchmark_name) | 281 all_benchmark_names, options.benchmark_name) |
| 284 parser.error( | 282 parser.error( |
| 285 'No benchmark named "%s". Do you mean any of those benchmarks ' | 283 'No benchmark named "%s". Do you mean any of those benchmarks ' |
| 286 'below?\n%s' % ( | 284 'below?\n%s' % ( |
| 287 options.benchmark_name, '\n'.join(possible_benchmark_names))) | 285 options.benchmark_name, '\n'.join(possible_benchmark_names))) |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 636 # Add deps overrides to git try --properties arg. | 634 # Add deps overrides to git try --properties arg. |
| 637 if deps_override: | 635 if deps_override: |
| 638 git_try_command.extend([ | 636 git_try_command.extend([ |
| 639 '-p', 'deps_revision_overrides=%s' % json.dumps(deps_override)]) | 637 '-p', 'deps_revision_overrides=%s' % json.dumps(deps_override)]) |
| 640 error_msg_on_fail += ' with DEPS override (%s)' % deps_override | 638 error_msg_on_fail += ' with DEPS override (%s)' % deps_override |
| 641 for bot in self._builder_names[bot_platform]: | 639 for bot in self._builder_names[bot_platform]: |
| 642 git_try_command.extend(['-b', bot]) | 640 git_try_command.extend(['-b', bot]) |
| 643 | 641 |
| 644 RunGit(git_try_command, error_msg_on_fail) | 642 RunGit(git_try_command, error_msg_on_fail) |
| 645 print 'Perf Try job sent to rietveld for %s platform.' % bot_platform | 643 print 'Perf Try job sent to rietveld for %s platform.' % bot_platform |
| OLD | NEW |