blob: 4b1d0cea597ea982be5be8f6a0e468938af9f7fb [file] [log] [blame]
#!/bin/bash
#
# Copyright (C) 2014 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
flags="$@"
# This test is supposed to test without oat files, so doesn't work for prebuild. Make sure that
# flag isn't set, or complain.
# Note: prebuild is the default.
if [[ "${flags}" == *--prebuild* || "${flags}" != *--no-prebuild* ]] ; then
echo "Test 118-noimage-dex2oat cannot run in prebuild mode."
exit 1
fi
# Force relocation otherwise we will just use the already created core.oat/art pair.
# Note: relocate is the default.
if [[ "${flags}" == *--no-relocate* ]] ; then
echo "Test 118-noimage-dex2oat is not intended to run in no-relocate mode."
exit 1
fi
if [[ $@ == *--host* ]]; then
framework="${ANDROID_HOST_OUT}/framework"
bpath_suffix="-hostdex"
else
framework="/system/framework"
bpath_suffix=""
fi
bpath="${framework}/core-libart${bpath_suffix}.jar"
bpath="${bpath}:${framework}/conscrypt${bpath_suffix}.jar"
bpath="${bpath}:${framework}/okhttp${bpath_suffix}.jar"
bpath="${bpath}:${framework}/core-junit${bpath_suffix}.jar"
bpath="${bpath}:${framework}/bouncycastle${bpath_suffix}.jar"
bpath_arg="--runtime-option -Xbootclasspath:${bpath}"
# Make sure we can run without an oat file.
echo "Run -Xnoimage-dex2oat"
${RUN} ${flags} ${bpath_arg} --runtime-option -Xnoimage-dex2oat --runtime-option -Xnodex2oat
# Make sure we cannot run without an oat file without fallback.
echo "Run -Xnoimage-dex2oat -Xno-dex-file-fallback"
${RUN} ${flags} ${bpath_arg} --runtime-option -Xnoimage-dex2oat --runtime-option -Xnodex2oat --runtime-option -Xno-dex-file-fallback
# Make sure we can run with the oat file.
echo "Run -Ximage-dex2oat"
${RUN} ${flags} ${bpath_arg} --runtime-option -Ximage-dex2oat
# Make sure we can run with the default settings.
echo "Run default"
${RUN} ${flags} ${bpath_arg}