# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import argparse
import find_depot_tools
import sys
from git_cl import Changelist
-BOTS = [
+BOTS = {
+ '--linux32': 'v8_linux32_perf_try',
+ '--linux64': 'v8_linux64_perf_try',
+ '--linux64_haswell': 'v8_linux64_haswell_perf_try',
+}
+
+DEFAULT_BOTS = [
'v8_linux32_perf_try',
- 'v8_linux64_perf_try',
+ 'v8_linux64_haswell_perf_try',
]
-def main(tests):
+def main():
+ parser = argparse.ArgumentParser(description='')
+ parser.add_argument("benchmarks", nargs="+", help="The benchmarks to run.")
+ for option in sorted(BOTS):
+ parser.add_argument(
+ option, dest='bots', action='append_const', const=BOTS[option],
+ help='Add %s trybot.' % BOTS[option])
+ options = parser.parse_args()
+ if not options.bots:
+ print 'No trybots specified. Using default %s.' % ','.join(DEFAULT_BOTS)
+ options.bots = DEFAULT_BOTS
+
cl = Changelist()
if not cl.GetIssue():
print 'Need to upload first'
print 'Cannot use trybots with private issue'
return 1
- if not tests:
+ if not options.benchmarks:
print 'Please specify the benchmarks to run as arguments.'
return 1
- masters = {'internal.client.v8': dict((b, tests) for b in BOTS)}
+ masters = {
+ 'internal.client.v8': dict((b, options.benchmarks) for b in options.bots),
+ }
cl.RpcServer().trigger_distributed_try_jobs(
- cl.GetIssue(), cl.GetMostRecentPatchset(), cl.GetBranch(),
- False, None, masters)
+ cl.GetIssue(), cl.GetMostRecentPatchset(), cl.GetBranch(),
+ False, None, masters)
return 0
if __name__ == "__main__": # pragma: no cover
- sys.exit(main(sys.argv[1:]))
+ sys.exit(main())