Index: tools/telemetry/telemetry/core/backends/adb_commands.py |
diff --git a/tools/telemetry/telemetry/core/backends/adb_commands.py b/tools/telemetry/telemetry/core/backends/adb_commands.py |
deleted file mode 100644 |
index 42eeb43094c668cfcfe6ce9274d1f947734f3dff..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/core/backends/adb_commands.py |
+++ /dev/null |
@@ -1,142 +0,0 @@ |
-# 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. |
- |
-"""Brings in Chrome Android's android_commands module, which itself is a |
-thin(ish) wrapper around adb.""" |
- |
-import logging |
-import os |
-import shutil |
-import stat |
- |
-from telemetry.core import platform |
-from telemetry.core import util |
-from telemetry.util import support_binaries |
- |
-# This is currently a thin wrapper around Chrome Android's |
-# build scripts, located in chrome/build/android. This file exists mainly to |
-# deal with locating the module. |
- |
-util.AddDirToPythonPath(util.GetChromiumSrcDir(), 'build', 'android') |
-from pylib import android_commands # pylint: disable=F0401 |
-from pylib import constants # pylint: disable=F0401 |
-try: |
- from pylib import ports # pylint: disable=F0401 |
-except Exception: |
- ports = None |
-from pylib.device import device_utils # pylint: disable=F0401 |
-from pylib.utils import apk_helper # pylint: disable=F0401 |
- |
- |
-def IsAndroidSupported(): |
- return device_utils != None |
- |
-def GetPackageName(apk_path): |
- return apk_helper.GetPackageName(apk_path) |
- |
-def GetAttachedDevices(): |
- """Returns a list of attached, online android devices. |
- |
- If a preferred device has been set with ANDROID_SERIAL, it will be first in |
- the returned list.""" |
- return android_commands.GetAttachedDevices() |
- |
- |
-def AllocateTestServerPort(): |
- return ports.AllocateTestServerPort() |
- |
- |
-def ResetTestServerPortAllocation(): |
- return ports.ResetTestServerPortAllocation() |
- |
- |
-class AdbCommands(object): |
- """A thin wrapper around ADB""" |
- |
- def __init__(self, device): |
- self._device = device_utils.DeviceUtils(device) |
- self._device_serial = device |
- |
- def device_serial(self): |
- return self._device_serial |
- |
- def device(self): |
- return self._device |
- |
- def __getattr__(self, name): |
- """Delegate all unknown calls to the underlying AndroidCommands object.""" |
- return getattr(self._device.old_interface, name) |
- |
- def Forward(self, local, remote): |
- self._device.adb.Forward(local, remote) |
- |
- def IsUserBuild(self): |
- return self._device.GetProp('ro.build.type') == 'user' |
- |
- |
-def GetBuildTypeOfPath(path): |
- if not path: |
- return None |
- for build_dir, build_type in util.GetBuildDirectories(): |
- if os.path.join(build_dir, build_type) in path: |
- return build_type |
- return None |
- |
- |
-def SetupPrebuiltTools(adb): |
- """Some of the android pylib scripts we depend on are lame and expect |
- binaries to be in the out/ directory. So we copy any prebuilt binaries there |
- as a prereq.""" |
- |
- # TODO(bulach): Build the targets for x86/mips. |
- device_tools = [ |
- 'file_poller', |
- 'forwarder_dist/device_forwarder', |
- 'md5sum_dist/md5sum_bin', |
- 'purge_ashmem', |
- 'run_pie', |
- ] |
- |
- host_tools = [ |
- 'bitmaptools', |
- 'md5sum_bin_host', |
- ] |
- |
- if platform.GetHostPlatform().GetOSName() == 'linux': |
- host_tools.append('host_forwarder') |
- |
- arch_name = adb.device().GetABI() |
- has_device_prebuilt = (arch_name.startswith('armeabi') |
- or arch_name.startswith('arm64')) |
- if not has_device_prebuilt: |
- logging.warning('Unknown architecture type: %s' % arch_name) |
- return all([support_binaries.FindLocallyBuiltPath(t) for t in device_tools]) |
- |
- build_type = None |
- for t in device_tools + host_tools: |
- executable = os.path.basename(t) |
- locally_built_path = support_binaries.FindLocallyBuiltPath(t) |
- if not build_type: |
- build_type = GetBuildTypeOfPath(locally_built_path) or 'Release' |
- constants.SetBuildType(build_type) |
- dest = os.path.join(constants.GetOutDirectory(), t) |
- if not locally_built_path: |
- logging.info('Setting up prebuilt %s', dest) |
- if not os.path.exists(os.path.dirname(dest)): |
- os.makedirs(os.path.dirname(dest)) |
- platform_name = ('android' if t in device_tools else |
- platform.GetHostPlatform().GetOSName()) |
- bin_arch_name = (arch_name if t in device_tools else |
- platform.GetHostPlatform().GetArchName()) |
- prebuilt_path = support_binaries.FindPath( |
- executable, bin_arch_name, platform_name) |
- if not prebuilt_path or not os.path.exists(prebuilt_path): |
- raise NotImplementedError(""" |
-%s must be checked into cloud storage. |
-Instructions: |
-http://www.chromium.org/developers/telemetry/upload_to_cloud_storage |
-""" % t) |
- shutil.copyfile(prebuilt_path, dest) |
- os.chmod(dest, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) |
- return True |