1 #!/bin/bash 2 # 3 # Copyright 2016 The Android Open Source Project 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 plugin=libopenjdkjvmtid.so 18 agent=libtiagentd.so 19 if [[ "$@" == *"-O"* ]]; then 20 agent=libtiagent.so 21 plugin=libopenjdkjvmti.so 22 fi 23 24 if [[ "$@" == *"--interpreter"* ]]; then 25 # On interpreter we are fully capable of providing the full jvmti api so we 26 # have a slightly different expected output. 27 # TODO We should really be changing this in the 'check' script. 28 patch -s expected.txt <interpreter-expected.patch 29 fi 30 31 export ANDROID_LOG_TAGS='*:f' 32 ./default-run "$@" --android-runtime-option -Xplugin:${plugin} \ 33 --android-runtime-option -Xcompiler-option \ 34 --android-runtime-option --debuggable \ 35 --args agent:${agent}=909-attach-agent 36 return_status1=$? 37 38 ./default-run "$@" --android-runtime-option -Xcompiler-option \ 39 --android-runtime-option --debuggable \ 40 --args agent:${agent}=909-attach-agent 41 return_status2=$? 42 43 ./default-run "$@" --args agent:${agent}=909-attach-agent --external-log-tags 44 return_status3=$? 45 46 ./default-run "$@" --args agent:${agent}=909-attach-agent \ 47 --args disallow-debugging \ 48 --external-log-tags 49 return_status4=$? 50 51 # Make sure we don't silently ignore an early failure. 52 (exit $return_status1) && \ 53 (exit $return_status2) && \ 54 (exit $return_status3) && \ 55 (exit $return_status4) 56