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
This commit is contained in:
borenet 2015-12-14 05:56:45 -08:00 committed by Commit bot
parent e13ca329fc
commit 0b29b728ca

View File

@ -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
set -e
set -x
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
# 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!"