| Index: build/android/adb_install_content_shell
|
| diff --git a/build/android/adb_install_content_shell b/build/android/adb_install_content_shell
|
| index 3667998cdc044c6703c95ed0e06fb4c9ccb0c4f9..a7cc2182cd47aa3f5707f3a90609b1be21d1e1d0 100755
|
| --- a/build/android/adb_install_content_shell
|
| +++ b/build/android/adb_install_content_shell
|
| @@ -1,26 +1,33 @@
|
| -#!/bin/bash
|
| +#!/usr/bin/env python
|
| #
|
| # Copyright (c) 2012 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.
|
|
|
| -CONTENT_SHELL_APK=${CHROME_SRC}/out/Release/content_shell/ContentShell-debug.apk
|
| +from multiprocessing import Process
|
| +import os
|
|
|
| -if [ ! -f "${CONTENT_SHELL_APK}" ]; then
|
| - echo "Error: Could not find ${CONTENT_SHELL_APK} to install."
|
| - exit 1
|
| -fi
|
| +from pylib import android_commands
|
|
|
| -DEVS=$(adb devices | grep device | grep -v devices | awk '{ print $1 }')
|
|
|
| -if [[ -z $DEVS ]]; then
|
| - echo "Error: No connected devices. Device needed to run content shell test."
|
| - exit 1
|
| -fi
|
| +def InstallContentShell(device):
|
| + apk_path = os.path.join(os.environ['CHROME_SRC'],
|
| + 'out/Release/content_shell/ContentShell-debug.apk')
|
| + result = android_commands.AndroidCommands(device=device).ManagedInstall(
|
| + apk_path, False, 'org.chromium.content_shell')
|
| + print '----- Installed on %s -----' % device
|
| + print result
|
|
|
| -for DEV in ${DEVS}; do
|
| - # Reinstall content shell. This will also kill existing content_shell procs.
|
| - echo "Installing ${CONTENT_SHELL_APK} in ${DEV}"
|
| - adb -s ${DEV} uninstall org.chromium.content_shell
|
| - adb -s ${DEV} install -r ${CONTENT_SHELL_APK}
|
| -done
|
| +
|
| +devices = android_commands.GetAttachedDevices()
|
| +if not devices:
|
| + raise Exception('Error: no connected devices')
|
| +
|
| +procs = []
|
| +for device in devices:
|
| + p = Process(target=InstallContentShell, args=(device,))
|
| + p.start()
|
| + procs += [p]
|
| +
|
| +for p in procs:
|
| + p.join()
|
|
|