Reviewers: Paweł Hajdan Jr., tandrii,

Message:
PTAL. It basically still uses the testfilter property under the hood. If I want to call it something differently I need to go into trigger_distributed_try_jobs.


https://codereview.chromium.org/734403002/diff/20001/tools/find_depot_tools.py
File tools/find_depot_tools.py (right):

https://codereview.chromium.org/734403002/diff/20001/tools/find_depot_tools.py#newcode1
tools/find_depot_tools.py:1: # Copyright 2014 the V8 project authors.
All rights reserved.
Shamelessly copied from here:
https://code.google.com/p/chromium/codesearch#chromium/tools/build/scripts/common/find_depot_tools.py&q=depot_tools%20-file:tools/depot_tools&sq=package:chromium&type=cs

Description:
Prototype for a client-side performance trybot script.

BUG=chromium:374740
LOG=n
TEST=tools/try_perf.py sunspider octane

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

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

Affected files (+85, -0 lines):
  A tools/find_depot_tools.py
  A tools/try_perf.py


Index: tools/find_depot_tools.py
diff --git a/tools/find_depot_tools.py b/tools/find_depot_tools.py
new file mode 100644
index 0000000000000000000000000000000000000000..95ae9e8a2defe630861e192dc1ed54c37481c975
--- /dev/null
+++ b/tools/find_depot_tools.py
@@ -0,0 +1,40 @@
+# Copyright 2014 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+"""Small utility function to find depot_tools and add it to the python path.
+"""
+
+import os
+import sys
+
+
+def directory_really_is_depot_tools(directory):
+  return os.path.isfile(os.path.join(directory, 'gclient.py'))
+
+
+def add_depot_tools_to_path():
+  """Search for depot_tools and add it to sys.path."""
+  # First look if depot_tools is already in PYTHONPATH.
+  for i in sys.path:
+    if i.rstrip(os.sep).endswith('depot_tools'):
+      if directory_really_is_depot_tools(i):
+        return i
+
+  # Then look if depot_tools is in PATH, common case.
+  for i in os.environ['PATH'].split(os.pathsep):
+    if i.rstrip(os.sep).endswith('depot_tools'):
+      if directory_really_is_depot_tools(i):
+        sys.path.insert(0, i.rstrip(os.sep))
+        return i
+  # Rare case, it's not even in PATH, look upward up to root.
+  root_dir = os.path.dirname(os.path.abspath(__file__))
+  previous_dir = os.path.abspath(__file__)
+  while root_dir and root_dir != previous_dir:
+ if directory_really_is_depot_tools(os.path.join(root_dir, 'depot_tools')):
+      i = os.path.join(root_dir, 'depot_tools')
+      sys.path.insert(0, i)
+      return i
+    previous_dir = root_dir
+    root_dir = os.path.dirname(root_dir)
+  print >> sys.stderr, 'Failed to find depot_tools'
+  return None
Index: tools/try_perf.py
diff --git a/tools/try_perf.py b/tools/try_perf.py
new file mode 100755
index 0000000000000000000000000000000000000000..edaf7cf69f284a03c72a1605028fe435095efdc2
--- /dev/null
+++ b/tools/try_perf.py
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+# Copyright 2014 the V8 project authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import os
+import sys
+import find_depot_tools
+
+find_depot_tools.add_depot_tools_to_path()
+
+import rietveld
+from git_cl import Changelist
+
+BOTS = [
+  'v8_linux32_perf_try',
+  'v8_linux64_perf_try',
+]
+
+def main(tests):
+  cl = Changelist()
+  if not cl.GetIssue():
+    print 'Need to upload first'
+    return
+
+  props = cl.GetIssueProperties()
+  if props.get('closed'):
+    print 'Cannot send tryjobs for a closed CL'
+    return
+
+  if props.get('private'):
+    print 'Cannot use trybots with private issue'
+    return
+
+  if not tests:
+    print 'Please specify the benchmarks to run as arguments.'
+    return
+
+  masters = {'internal.client.v8': dict((b, tests) for b in BOTS)}
+  cl.RpcServer().trigger_distributed_try_jobs(
+        cl.GetIssue(), cl.GetMostRecentPatchset(), cl.GetBranch(),
+        False, None, masters)
+
+if __name__ == "__main__":  # pragma: no cover
+  sys.exit(main(sys.argv[1:]))


--
--
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