| #!/bin/bash | |
| # | |
| # Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file | |
| # for details. All rights reserved. Use of this source code is governed by a | |
| # BSD-style license that can be found in the LICENSE file. | |
| # Helper script for tools/test_android_cts.py | |
| readonly AOSP_PRESET="$1" | |
| shift | |
| readonly TASK="$1" | |
| shift | |
| . build/envsetup.sh | |
| lunch "$AOSP_PRESET" | |
| if [[ "$TASK" == "make" ]]; then | |
| make "$@" | |
| elif [[ "$TASK" == "m" ]]; then | |
| m "$@" | |
| elif [[ "$TASK" == "mmm" ]]; then | |
| mmm "$@" | |
| elif [[ "$TASK" == "mmma" ]]; then | |
| mmma "$@" | |
| elif [[ "$TASK" == "emulator" ]]; then | |
| # Launch emulator in bg and kill it in a trap | |
| # otherwise it won't get killed when this parent process is killed | |
| emulator "$@" & | |
| emulator_pid=$! | |
| trap "kill $emulator_pid; exit 1" 2 15 | |
| while true; do sleep 5; done | |
| elif [[ "$TASK" == "emulator_fg" ]]; then | |
| emulator "$@" | |
| elif [[ "$TASK" == "run-cts" ]]; then | |
| adb wait-for-device | |
| adb shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done; input keyevent 82' | |
| echo "exit" | \ | |
| ANDROID_BUILD_TOP= \ | |
| "$@" | |
| else | |
| echo "Invalid task: '$TASK'" >&2 | |
| exit 1 | |
| fi |