Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3867)

Unified Diff: build/android/devil/android/sdk/gce_adb_wrapper.py

Issue 1770943003: [Android] Remove chromium version of devil. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/devil/android/sdk/fastboot.py ('k') | build/android/devil/android/sdk/intent.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/devil/android/sdk/gce_adb_wrapper.py
diff --git a/build/android/devil/android/sdk/gce_adb_wrapper.py b/build/android/devil/android/sdk/gce_adb_wrapper.py
deleted file mode 100644
index 60ec364405106b03596b32260b1d2221ce8242a7..0000000000000000000000000000000000000000
--- a/build/android/devil/android/sdk/gce_adb_wrapper.py
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2015 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.
-
-"""Provides a work around for various adb commands on android gce instances.
-
-Some adb commands don't work well when the device is a cloud vm, namely
-'push' and 'pull'. With gce instances, moving files through adb can be
-painfully slow and hit timeouts, so the methods here just use scp instead.
-"""
-# pylint: disable=unused-argument
-
-import logging
-import os
-import subprocess
-
-from devil.android import device_errors
-from devil.android.sdk import adb_wrapper
-from devil.utils import cmd_helper
-
-
-# SSH key file for accessing the instances. The keys are created at
-# startup and removed & revoked at teardown.
-_SSH_KEY_FILE = '/tmp/ssh_android_gce_instance'
-
-
-class GceAdbWrapper(adb_wrapper.AdbWrapper):
- def __init__(self, device_serial):
- super(GceAdbWrapper, self).__init__(device_serial)
- self._instance_ip = self.Shell('getprop net.gce.ip_address').strip()
-
- #override
- def Push(self, local, remote, **kwargs):
- """Pushes an object from the host to the gce instance.
-
- Args:
- local: Path on the host filesystem.
- remote: Path on the instance filesystem.
- """
- adb_wrapper.VerifyLocalFileExists(_SSH_KEY_FILE)
- adb_wrapper.VerifyLocalFileExists(local)
- if os.path.isdir(local):
- self.Shell('mkdir -p %s' % cmd_helper.SingleQuote(remote))
-
- # When the object to be pushed is a directory, adb merges the source dir
- # with the destination dir. So if local is a dir, just scp its contents.
- for f in os.listdir(local):
- self._PushObject(os.path.join(local, f), os.path.join(remote, f))
- self.Shell('chmod 777 %s' %
- cmd_helper.SingleQuote(os.path.join(remote, f)))
- else:
- parent_dir = remote[0:remote.rfind('/')]
- if parent_dir:
- self.Shell('mkdir -p %s' % cmd_helper.SingleQuote(parent_dir))
- self._PushObject(local, remote)
- self.Shell('chmod 777 %s' % cmd_helper.SingleQuote(remote))
-
- def _PushObject(self, local, remote):
- """Copies an object from the host to the gce instance using scp.
-
- Args:
- local: Path on the host filesystem.
- remote: Path on the instance filesystem.
- """
- cmd = [
- 'scp',
- '-r',
- '-i', _SSH_KEY_FILE,
- '-o', 'UserKnownHostsFile=/dev/null',
- '-o', 'StrictHostKeyChecking=no',
- local,
- 'root@%s:%s' % (self._instance_ip, remote)
- ]
- status, _ = cmd_helper.GetCmdStatusAndOutput(cmd)
- if status:
- raise device_errors.AdbCommandFailedError(
- cmd, 'File not reachable on host: %s' % local,
- device_serial=str(self))
-
- #override
- def Pull(self, remote, local, **kwargs):
- """Pulls a file from the gce instance to the host.
-
- Args:
- remote: Path on the instance filesystem.
- local: Path on the host filesystem.
- """
- adb_wrapper.VerifyLocalFileExists(_SSH_KEY_FILE)
- cmd = [
- 'scp',
- '-p',
- '-r',
- '-i', _SSH_KEY_FILE,
- '-o', 'UserKnownHostsFile=/dev/null',
- '-o', 'StrictHostKeyChecking=no',
- 'root@%s:%s' % (self._instance_ip, remote),
- local,
- ]
- status, _ = cmd_helper.GetCmdStatusAndOutput(cmd)
- if status:
- raise device_errors.AdbCommandFailedError(
- cmd, 'File not reachable on host: %s' % local,
- device_serial=str(self))
-
- try:
- adb_wrapper.VerifyLocalFileExists(local)
- except (subprocess.CalledProcessError, IOError):
- logging.exception('Error when pulling files from android instance.')
- raise device_errors.AdbCommandFailedError(
- cmd, 'File not reachable on host: %s' % local,
- device_serial=str(self))
-
- #override
- def Install(self, apk_path, forward_lock=False, reinstall=False,
- sd_card=False, **kwargs):
- """Installs an apk on the gce instance
-
- Args:
- apk_path: Host path to the APK file.
- forward_lock: (optional) If set forward-locks the app.
- reinstall: (optional) If set reinstalls the app, keeping its data.
- sd_card: (optional) If set installs on the SD card.
- """
- adb_wrapper.VerifyLocalFileExists(_SSH_KEY_FILE)
- adb_wrapper.VerifyLocalFileExists(apk_path)
- cmd = ['install']
- if forward_lock:
- cmd.append('-l')
- if reinstall:
- cmd.append('-r')
- if sd_card:
- cmd.append('-s')
- self.Push(apk_path, '/data/local/tmp/tmp.apk')
- cmd = ['pm'] + cmd
- cmd.append('/data/local/tmp/tmp.apk')
- output = self.Shell(' '.join(cmd))
- self.Shell('rm /data/local/tmp/tmp.apk')
- if 'Success' not in output:
- raise device_errors.AdbCommandFailedError(
- cmd, output, device_serial=self._device_serial)
-
- #override
- @property
- def is_emulator(self):
- return True
« no previous file with comments | « build/android/devil/android/sdk/fastboot.py ('k') | build/android/devil/android/sdk/intent.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698