diff options
author | borenet <borenet@google.com> | 2015-12-14 05:56:45 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-14 05:56:46 -0800 |
commit | 0b29b728cae6c3f3738b4cda0b786960d05dda2b (patch) | |
tree | 6d59c75717d21bb80f3749e79001697b997f8bc6 /platform_tools | |
parent | e13ca329fca4c28cf4e078561f591ab27b743d23 (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-x | platform_tools/android/bin/adb_wait_for_device | 29 |
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!" |