Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / core / platform / profiler / android_prebuilt_profiler_helper.py
1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 """Android-specific, installs pre-built profilers."""
6
7 import logging
8 import os
9
10 from telemetry import decorators
11 from telemetry.util import support_binaries
12
13 _DEVICE_PROFILER_DIR = '/data/local/tmp/profilers/'
14
15
16 def GetDevicePath(profiler_binary):
17   return os.path.join(_DEVICE_PROFILER_DIR, os.path.basename(profiler_binary))
18
19
20 @decorators.Cache
21 def InstallOnDevice(device, profiler_binary):
22   host_path = support_binaries.FindPath(profiler_binary, 'android')
23   if not host_path:
24     logging.error('Profiler binary "%s" not found. Could not be installed',
25                   host_path)
26     return False
27
28   device_binary_path = GetDevicePath(profiler_binary)
29   device.PushChangedFiles(host_path, device_binary_path)
30   device.RunShellCommand('chmod 777 ' + device_binary_path)
31   return True