host-run-test-jar revision 4855cd516d97c9728fa58312acdf6c4b8b81397a
1#!/bin/sh 2# 3# Run the code in test.jar using the host-mode virtual machine. The jar should 4# contain a top-level class named Main to run. 5# 6# Options: 7# --quiet -- don't chatter 8# --debug -- wait for debugger to attach 9# --no-verify -- turn off verification (on by default) 10# --no-optimize -- turn off optimization (on by default) 11 12msg() { 13 if [ "$QUIET" = "n" ]; then 14 echo "$@" 15 fi 16} 17 18DEBUG="n" 19GDB="n" 20VERIFY="y" 21OPTIMIZE="y" 22INVOKE_WITH="" 23DEV_MODE="n" 24QUIET="n" 25 26while true; do 27 if [ "x$1" = "x--quiet" ]; then 28 QUIET="y" 29 shift 30 elif [ "x$1" = "x--debug" ]; then 31 DEBUG="y" 32 shift 33 elif [ "x$1" = "x--gdb" ]; then 34 GDB="y" 35 shift 36 elif [ "x$1" = "x--invoke-with" ]; then 37 shift 38 INVOKE_WITH="$1" 39 shift 40 elif [ "x$1" = "x--dev" ]; then 41 DEV_MODE="y" 42 shift 43 elif [ "x$1" = "x--no-verify" ]; then 44 VERIFY="n" 45 shift 46 elif [ "x$1" = "x--no-optimize" ]; then 47 OPTIMIZE="n" 48 shift 49 elif [ "x$1" = "x--" ]; then 50 shift 51 break 52 elif expr "x$1" : "x--" >/dev/null 2>&1; then 53 echo "unknown $0 option: $1" 1>&2 54 exit 1 55 else 56 break 57 fi 58done 59 60msg "------------------------------" 61 62HOSTBASE="${ANDROID_BUILD_TOP}/out/host" 63DATA_DIR=/tmp 64DEBUG_OPTS="-Xcheck:jni -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 65 66if [ ! -d $DATA_DIR/art-cache ]; then 67 mkdir -p $DATA_DIR/art-cache 68 [[ $? -ne 0 ]] && exit 69fi 70 71export ANDROID_PRINTF_LOG=brief 72if [ "$DEV_MODE" = "y" ]; then 73 export ANDROID_LOG_TAGS='*:d' 74else 75 export ANDROID_LOG_TAGS='*:s' 76fi 77export ANDROID_DATA="$DATA_DIR" 78export ANDROID_ROOT="${HOSTBASE}/linux-x86" 79export LD_LIBRARY_PATH="${ANDROID_ROOT}/lib" 80export DYLD_LIBRARY_PATH="${ANDROID_ROOT}/lib" 81 82exe="${ANDROID_ROOT}/bin/oatexecd" 83 84if [ "$DEBUG" = "y" ]; then 85 PORT=8000 86 msg "Waiting for debugger to connect on localhost:$PORT" 87 DEX_DEBUG="-agentlib:jdwp=transport=dt_socket,addres=$PORT,server=y,suspend=y" 88fi 89 90if [ "$GDB" = "y" ]; then 91 gdb=gdb 92 gdbargs="--args $exe" 93fi 94 95cd $ANDROID_BUILD_TOP 96$INVOKE_WITH $gdb $exe $gdbargs -Ximage:$ANDROID_ROOT/framework/core.art \ 97 $DEX_DEBUG ${DEBUG_OPTS} \ 98 -cp test.jar Main "$@" 99