Reviewers: mvstanton, Benedikt Meurer,

Message:
PTAL

Description:
[test-runner] Enable specification of trybots.

Now it's possible to specify the desired trybots for perf
tries, e.g.:

tools/try_perf.py --linux64_haswell octane sunspider

BUG=chromium:478460
LOG=n
NOTRY=true

Please review this at https://codereview.chromium.org/1114913002/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+28, -8 lines):
  M tools/try_perf.py


Index: tools/try_perf.py
diff --git a/tools/try_perf.py b/tools/try_perf.py
index fcd1ddcbfb34951883857a477cfb0b1b21b43c35..58927bdff4eb4496a79b174393e65f01d7f97f24 100755
--- a/tools/try_perf.py
+++ b/tools/try_perf.py
@@ -3,6 +3,7 @@
 # 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

@@ -10,12 +11,29 @@ find_depot_tools.add_depot_tools_to_path()

 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'
@@ -30,15 +48,17 @@ def main(tests):
     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())


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to