diff options
author | kjlubick <kjlubick@google.com> | 2016-03-25 05:22:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-25 05:22:40 -0700 |
commit | 2e59f1f2fd497367585374eb20f5c04d92ae6d26 (patch) | |
tree | 41b7294d9941f6ebc09fceb7a96c3bff1563678d /platform_tools/android/bin | |
parent | f8c3ba40cf4f42b2c2ba1b473c28d7733383223e (diff) |
Splitting up wait_for_device into two pieces
BUG=skia:5111
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1829753004
Review URL: https://codereview.chromium.org/1829753004
Diffstat (limited to 'platform_tools/android/bin')
-rwxr-xr-x | platform_tools/android/bin/adb_wait_for_charge | 75 | ||||
-rwxr-xr-x | platform_tools/android/bin/adb_wait_for_device | 70 |
2 files changed, 77 insertions, 68 deletions
diff --git a/platform_tools/android/bin/adb_wait_for_charge b/platform_tools/android/bin/adb_wait_for_charge new file mode 100755 index 0000000000..43e70bcf69 --- /dev/null +++ b/platform_tools/android/bin/adb_wait_for_charge @@ -0,0 +1,75 @@ +#!/bin/bash +# +# Wait for the device to be charged enough for testing. + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source $SCRIPT_DIR/android_setup.sh +source $SCRIPT_DIR/utils/setup_adb.sh + +# Helper function used by get_battery_level. Parses the battery level from +# dumpsys output. +function _parse_battery_level { + SPLIT=( $@ ) + + HAS_BATTERY=1 + LEVEL="" + + for i in "${!SPLIT[@]}"; do + if [ "${SPLIT[$i]}" = "level:" ]; then + LEVEL="${SPLIT[$i+1]}" + fi + if [ "${SPLIT[$i]}" = "present:" ]; then + PRESENT="$(echo "${SPLIT[$i+1]}" | tr -d '\r')" + if [ "$PRESENT" = "0" ]; then + HAS_BATTERY=0 + fi + if [ "$PRESENT" = "false" ]; then + HAS_BATTERY=0 + fi + fi + done + + if [ "$HAS_BATTERY" = "1" ]; then + echo "$LEVEL" | tr -d '\r' + return + fi + # If there's no battery, report a full battery. + echo "Device has no battery." 1>&2 + echo "100" +} + +# Echo the battery level percentage of the attached Android device. +function get_battery_level { + STATS="$($ADB $DEVICE_SERIAL shell dumpsys batteryproperties)" + SPLIT=( $STATS ) + RV="$(_parse_battery_level ${SPLIT[@]})" + if [ -n "$RV" ]; then + echo "$RV" + return + fi + + echo "Battery level fallback..." 1>&2 + + STATS="$($ADB $DEVICE_SERIAL shell dumpsys battery)" + SPLIT=( $STATS ) + RV="$(_parse_battery_level ${SPLIT[@]})" + if [ "$RV" != "-1" ]; then + echo "$RV" + return + fi + + echo "Could not determine battery level!" 1>&2 + # Just exit to prevent hanging forever or failing the build. + echo "0" +} + +# Wait for battery charge. +DESIRED_BATTERY_LEVEL=80 +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 "Charged!"
\ No newline at end of file diff --git a/platform_tools/android/bin/adb_wait_for_device b/platform_tools/android/bin/adb_wait_for_device index a1f8c1645e..32a517b691 100755 --- a/platform_tools/android/bin/adb_wait_for_device +++ b/platform_tools/android/bin/adb_wait_for_device @@ -1,68 +1,11 @@ #!/bin/bash # -# Wait for the device to be ready to run tests. +# Wait for the device to be connected. SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source $SCRIPT_DIR/android_setup.sh source $SCRIPT_DIR/utils/setup_adb.sh -# Helper function used by get_battery_level. Parses the battery level from -# dumpsys output. -function _parse_battery_level { - SPLIT=( $@ ) - - HAS_BATTERY=1 - LEVEL="" - - for i in "${!SPLIT[@]}"; do - if [ "${SPLIT[$i]}" = "level:" ]; then - LEVEL="${SPLIT[$i+1]}" - fi - if [ "${SPLIT[$i]}" = "present:" ]; then - PRESENT="$(echo "${SPLIT[$i+1]}" | tr -d '\r')" - if [ "$PRESENT" = "0" ]; then - HAS_BATTERY=0 - fi - if [ "$PRESENT" = "false" ]; then - HAS_BATTERY=0 - fi - fi - done - - if [ "$HAS_BATTERY" = "1" ]; then - echo "$LEVEL" | tr -d '\r' - return - fi - # If there's no battery, report a full battery. - echo "Device has no battery." 1>&2 - echo "100" -} - -# Echo the battery level percentage of the attached Android device. -function get_battery_level { - STATS="$($ADB $DEVICE_SERIAL shell dumpsys batteryproperties)" - SPLIT=( $STATS ) - RV="$(_parse_battery_level ${SPLIT[@]})" - if [ -n "$RV" ]; then - echo "$RV" - return - fi - - echo "Battery level fallback..." 1>&2 - - STATS="$($ADB $DEVICE_SERIAL shell dumpsys battery)" - SPLIT=( $STATS ) - RV="$(_parse_battery_level ${SPLIT[@]})" - if [ "$RV" != "-1" ]; then - echo "$RV" - return - fi - - echo "Could not determine battery level!" 1>&2 - # Just exit to prevent hanging forever or failing the build. - echo "0" -} - set -e # Wait for the device to be connected and fully booted. @@ -71,13 +14,4 @@ while [ "$($ADB $DEVICE_SERIAL shell getprop sys.boot_completed | tr -d '\r')" ! sleep 5 done -# Wait for battery charge. -DESIRED_BATTERY_LEVEL=80 -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!" +echo "Connected!" |