aboutsummaryrefslogtreecommitdiff
path: root/catapult/telemetry/telemetry/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'catapult/telemetry/telemetry/__init__.py')
-rw-r--r--catapult/telemetry/telemetry/__init__.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/catapult/telemetry/telemetry/__init__.py b/catapult/telemetry/telemetry/__init__.py
new file mode 100644
index 00000000..a009a9cb
--- /dev/null
+++ b/catapult/telemetry/telemetry/__init__.py
@@ -0,0 +1,63 @@
+# Copyright 2013 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""A library for cross-platform browser tests."""
+import os
+import sys
+
+
+# Ensure Python >= 2.7.
+if sys.version_info < (2, 7):
+ print >> sys.stderr, 'Need Python 2.7 or greater.'
+ sys.exit(-1)
+
+
+def _JoinPath(*path_parts):
+ return os.path.abspath(os.path.join(*path_parts))
+
+
+def _AddDirToPythonPath(*path_parts):
+ path = _JoinPath(*path_parts)
+ if os.path.isdir(path) and path not in sys.path:
+ # Some call sites that use Telemetry assume that sys.path[0] is the
+ # directory containing the script, so we add these extra paths to right
+ # after sys.path[0].
+ sys.path.insert(1, path)
+
+
+# Add Catapult dependencies to our path.
+# util depends on py_utils, so we can't use it to get the catapult dir.
+_CATAPULT_DIR = os.path.join(
+ os.path.dirname(os.path.abspath(__file__)), '..', '..')
+_AddDirToPythonPath(_CATAPULT_DIR, 'common', 'py_utils')
+_AddDirToPythonPath(_CATAPULT_DIR, 'dependency_manager')
+_AddDirToPythonPath(_CATAPULT_DIR, 'devil')
+_AddDirToPythonPath(_CATAPULT_DIR, 'systrace')
+_AddDirToPythonPath(_CATAPULT_DIR, 'tracing')
+_AddDirToPythonPath(_CATAPULT_DIR, 'common', 'py_trace_event')
+_AddDirToPythonPath(_CATAPULT_DIR, 'common', 'battor')
+_AddDirToPythonPath(_CATAPULT_DIR, 'tracing', 'tracing_build')
+_AddDirToPythonPath(_CATAPULT_DIR, 'third_party', 'py_vulcanize')
+
+
+from telemetry.core import util
+from telemetry.internal.util import global_hooks
+
+# Add Catapult third party dependencies into our path.
+_AddDirToPythonPath(util.GetCatapultThirdPartyDir(), 'typ')
+
+# Add Telemetry third party dependencies into our path.
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'altgraph')
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'mock')
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'modulegraph')
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'mox3')
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'pexpect')
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'png')
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'pyfakefs')
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'pyserial')
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'web-page-replay')
+_AddDirToPythonPath(util.GetTelemetryThirdPartyDir(), 'websocket-client')
+
+# Install Telemtry global hooks.
+global_hooks.InstallHooks()