aboutsummaryrefslogtreecommitdiffhomepage
path: root/platform_tools
diff options
context:
space:
mode:
authorGravatar borenet <borenet@google.com>2015-12-14 05:56:45 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-12-14 05:56:46 -0800
commit0b29b728cae6c3f3738b4cda0b786960d05dda2b (patch)
tree6d59c75717d21bb80f3749e79001697b997f8bc6 /platform_tools
parente13ca329fca4c28cf4e078561f591ab27b743d23 (diff)
Add minimum battery level to adb_wait_for_device
This should prevent the Android bots running out of battery at the expense of extra time spent waiting at the end of the build. BUG=skia:4606 Review URL: https://codereview.chromium.org/1522013002
Diffstat (limited to 'platform_tools')
-rwxr-xr-xplatform_tools/android/bin/adb_wait_for_device29
1 files changed, 27 insertions, 2 deletions
diff --git a/platform_tools/android/bin/adb_wait_for_device b/platform_tools/android/bin/adb_wait_for_device
index 0b640d22b4..882cd3fed4 100755
--- a/platform_tools/android/bin/adb_wait_for_device
+++ b/platform_tools/android/bin/adb_wait_for_device
@@ -1,14 +1,39 @@
#!/bin/bash
#
-# Wait for the device to be both attached and booted.
+# Wait for the device to be ready to run tests.
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $SCRIPT_DIR/android_setup.sh
source $SCRIPT_DIR/utils/setup_adb.sh
+function get_battery_level {
+ STATS="$($ADB $DEVICE_SERIAL shell dumpsys batteryproperties)"
+ SPLIT=( $STATS )
+ for i in "${!SPLIT[@]}"; do
+ if [ "${SPLIT[$i]}" = "level:" ]; then
+ echo "${SPLIT[$i+1]}"
+ return
+ fi
+ done
+ echo "Could not determine battery level!" 1>&2
+ echo "0"
+}
+
set -e
-set -x
+# Wait for the device to be connected and fully booted.
while [ "$($ADB $DEVICE_SERIAL shell getprop sys.boot_completed | tr -d '\r')" != "1" ]; do
+ echo "Waiting for the device to be connected and ready."
sleep 5
done
+
+# Wait for battery charge.
+DESIRED_BATTERY_LEVEL=30
+CURRENT_BATTERY_LEVEL="$(get_battery_level)"
+while [ "${CURRENT_BATTERY_LEVEL}" -lt "${DESIRED_BATTERY_LEVEL}" ]; do
+ echo "Battery level is ${CURRENT_BATTERY_LEVEL}; waiting to charge to ${DESIRED_BATTERY_LEVEL}"
+ sleep 5
+ CURRENT_BATTERY_LEVEL="$(get_battery_level)"
+done
+
+echo "Ready!"