1# Copyright (C) 2011 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14# 15 16LOCAL_PATH := $(call my-dir) 17 18include art/build/Android.common_test.mk 19 20# List of all tests of the form 003-omnibus-opcodes. 21TEST_ART_RUN_TESTS := $(wildcard $(LOCAL_PATH)/[0-9]*) 22TEST_ART_RUN_TESTS := $(subst $(LOCAL_PATH)/,, $(TEST_ART_RUN_TESTS)) 23 24# List all the test names for host and target and compiler variants. 25# $(1): test name, e.g. 003-omnibus-opcodes 26# $(2): undefined, -trace, -gcverify or -gcstress 27# $(3): -relocate, -norelocate, -no-prebuild, or undefined. 28define all-run-test-names 29 test-art-host-run-test$(2)-default$(3)-$(1)32 \ 30 test-art-host-run-test$(2)-optimizing$(3)-$(1)32 \ 31 test-art-host-run-test$(2)-interpreter$(3)-$(1)32 \ 32 test-art-host-run-test$(2)-default$(3)-$(1)64 \ 33 test-art-host-run-test$(2)-optimizing$(3)-$(1)64 \ 34 test-art-host-run-test$(2)-interpreter$(3)-$(1)64 \ 35 test-art-target-run-test$(2)-default$(3)-$(1)32 \ 36 test-art-target-run-test$(2)-optimizing$(3)-$(1)32 \ 37 test-art-target-run-test$(2)-interpreter$(3)-$(1)32 \ 38 test-art-target-run-test$(2)-default$(3)-$(1)64 \ 39 test-art-target-run-test$(2)-optimizing$(3)-$(1)64 \ 40 test-art-target-run-test$(2)-interpreter$(3)-$(1)64 41endef # all-run-test-names 42 43# Subset of the above for target only. 44define all-run-test-target-names 45 test-art-target-run-test$(2)-default$(3)-$(1)32 \ 46 test-art-target-run-test$(2)-optimizing$(3)-$(1)32 \ 47 test-art-target-run-test$(2)-interpreter$(3)-$(1)32 \ 48 test-art-target-run-test$(2)-default$(3)-$(1)64 \ 49 test-art-target-run-test$(2)-optimizing$(3)-$(1)64 \ 50 test-art-target-run-test$(2)-interpreter$(3)-$(1)64 51endef # all-run-test-target-names 52 53# Tests that are timing sensitive and flaky on heavily loaded systems. 54TEST_ART_TIMING_SENSITIVE_RUN_TESTS := \ 55 053-wait-some \ 56 055-enum-performance \ 57 133-static-invoke-super 58 59 # disable timing sensitive tests on "dist" builds. 60ifdef dist_goal 61 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,)) 62 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,)) 63 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,)) 64 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,)) 65 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,-relocate)) 66 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-relocate)) 67 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,-relocate)) 68 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-relocate)) 69 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,-norelocate)) 70 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-norelocate)) 71 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,-norelocate)) 72 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-norelocate)) 73 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,-prebuild)) 74 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-prebuild)) 75 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,-prebuild)) 76 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-prebuild)) 77 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,-no-prebuild)) 78 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-no-prebuild)) 79 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,-no-prebuild)) 80 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-no-prebuild)) 81endif 82 83# Tests that are broken in --trace mode. 84TEST_ART_BROKEN_TRACE_RUN_TESTS := 85 86ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-relocate)) 87ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-no-prebuild)) 88ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-prebuild)) 89ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-norelocate)) 90ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,)) 91 92# Tests that need more than 2MB of RAM or are running into other corner cases in GC stress related 93# to OOMEs. 94TEST_ART_BROKEN_GCSTRESS_RUN_TESTS := 95 96ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-relocate)) 97ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-no-prebuild)) 98ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-prebuild)) 99ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-norelocate)) 100ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,)) 101 102# 115-native-bridge setup is complicated. Need to implement it correctly for the target. 103ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,) 104ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,) 105ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,) 106ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,) 107ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-relocate) 108ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-relocate) 109ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-relocate) 110ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-relocate) 111ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-norelocate) 112ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-norelocate) 113ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-norelocate) 114ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-norelocate) 115ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-prebuild) 116ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-prebuild) 117ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-prebuild) 118ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-prebuild) 119ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-no-prebuild) 120ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-no-prebuild) 121ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-no-prebuild) 122ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-no-prebuild) 123 124# NB 116-nodex2oat is not broken per-se it just doesn't (and isn't meant to) work with --prebuild. 125# On host this is patched around by changing a run flag but we cannot do this on the target due to 126# a different run-script. 127TEST_ART_TARGET_BROKEN_PREBUILD_RUN_TESTS := \ 128 116-nodex2oat 129 130ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TARGET_PREBUILD_RUN_TESTS), $(call all-run-test-target-names,$(test),,-prebuild)) 131ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TARGET_PREBUILD_RUN_TESTS), $(call all-run-test-target-names,$(test),-trace,-prebuild)) 132ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TARGET_PREBUILD_RUN_TESTS), $(call all-run-test-target-names,$(test),-gcverify,-prebuild)) 133ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TARGET_PREBUILD_RUN_TESTS), $(call all-run-test-target-names,$(test),-gcstress,-prebuild)) 134 135# NB 117-nopatchoat is not broken per-se it just doesn't work (and isn't meant to) without --prebuild --relocate 136TEST_ART_BROKEN_RELOCATE_TESTS := \ 137 117-nopatchoat 138 139ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_RELOCATE_TESTS), $(call all-run-test-names,$(test),,-relocate)) 140ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_RELOCATE_TESTS), $(call all-run-test-names,$(test),-trace,-relocate)) 141ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_RELOCATE_TESTS), $(call all-run-test-names,$(test),-gcverify,-relocate)) 142ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_RELOCATE_TESTS), $(call all-run-test-names,$(test),-gcstress,-relocate)) 143 144TEST_ART_BROKEN_NORELOCATE_TESTS := \ 145 117-nopatchoat 146 147ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_NORELOCATE_TESTS), $(call all-run-test-names,$(test),,-norelocate)) 148ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_NORELOCATE_TESTS), $(call all-run-test-names,$(test),-trace,-norelocate)) 149ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_NORELOCATE_TESTS), $(call all-run-test-names,$(test),-gcverify,-norelocate)) 150ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_NORELOCATE_TESTS), $(call all-run-test-names,$(test),-gcstress,-norelocate)) 151 152TEST_ART_BROKEN_NO_PREBUILD_TESTS := \ 153 117-nopatchoat 154 155ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_NO_PREBUILD_TESTS), $(call all-run-test-names,$(test),,-no-prebuild)) 156ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_NO_PREBUILD_TESTS), $(call all-run-test-names,$(test),-trace,-no-prebuild)) 157ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_NO_PREBUILD_TESTS), $(call all-run-test-names,$(test),-gcverify,-no-prebuild)) 158ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_NO_PREBUILD_TESTS), $(call all-run-test-names,$(test),-gcstress,-no-prebuild)) 159 160# The path where build only targets will be output, e.g. 161# out/target/product/generic_x86_64/obj/PACKAGING/art-run-tests_intermediates/DATA 162art_run_tests_dir := $(call intermediates-dir-for,PACKAGING,art-run-tests)/DATA 163 164# A generated list of prerequisites that call 'run-test --build-only', the actual prerequisite is 165# an empty file touched in the intermediate directory. 166TEST_ART_RUN_TEST_BUILD_RULES := 167 168# Helper to create individual build targets for tests. Must be called with $(eval). 169# $(1): the test number 170define define-build-art-run-test 171 dmart_target := $(art_run_tests_dir)/art-run-tests/$(1)/touch 172$$(dmart_target): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin 173 $(hide) rm -rf $$(dir $$@) && mkdir -p $$(dir $$@) 174 $(hide) DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \ 175 $(LOCAL_PATH)/run-test --build-only --output-path $$(abspath $$(dir $$@)) $(1) 176 $(hide) touch $$@ 177 178 TEST_ART_RUN_TEST_BUILD_RULES += $$(dmart_target) 179 dmart_target := 180endef 181$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-build-art-run-test,$(test)))) 182 183include $(CLEAR_VARS) 184LOCAL_MODULE_TAGS := tests 185LOCAL_MODULE := art-run-tests 186LOCAL_ADDITIONAL_DEPENDENCIES := $(TEST_ART_RUN_TEST_BUILD_RULES) 187# The build system use this flag to pick up files generated by declare-make-art-run-test. 188LOCAL_PICKUP_FILES := $(art_run_tests_dir) 189 190include $(BUILD_PHONY_PACKAGE) 191 192# Clear temp vars. 193all-run-test-names := 194art_run_tests_dir := 195define-build-art-run-test := 196TEST_ART_RUN_TEST_BUILD_RULES := 197TEST_ART_TIMING_SENSITIVE_RUN_TESTS := 198TEST_ART_BROKEN_TRACE_RUN_TESTS := 199TEST_ART_BROKEN_GCSTRESS_RUN_TESTS := 200 201######################################################################## 202 203ART_TEST_TARGET_RUN_TEST_ALL_RULES := 204ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES := 205ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES := 206ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES := 207ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES := 208ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES := 209ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES := 210ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES := 211ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES := 212ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES := 213ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES := 214ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES := 215ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES := 216ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES := 217ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES := 218ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES := 219ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES := 220ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES := 221ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES := 222ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES := 223ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 224ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 225ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 226ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 227ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 228ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 229ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 230ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 231ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 232ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 233ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 234ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 235ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 236ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 237ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 238ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 239ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 240ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 241ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 242ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 243ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 244ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 245ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 246ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 247ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 248ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 249ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 250ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 251ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 252ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 253ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 254ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 255ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 256ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 257ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 258ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 259ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 260ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 261ART_TEST_HOST_RUN_TEST_ALL_RULES := 262ART_TEST_HOST_RUN_TEST_DEFAULT_RULES := 263ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES := 264ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES := 265ART_TEST_HOST_RUN_TEST_RELOCATE_RULES := 266ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES := 267ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES := 268ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES := 269ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES := 270ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES := 271ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES := 272ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES := 273ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES := 274ART_TEST_HOST_RUN_TEST_PREBUILD_RULES := 275ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES := 276ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES := 277ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES := 278ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES := 279ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES := 280ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES := 281ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 282ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 283ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 284ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 285ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 286ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 287ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 288ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 289ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 290ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 291ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 292ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 293ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 294ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 295ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 296ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 297ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 298ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 299ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 300ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 301ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 302ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 303ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 304ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 305ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 306ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 307ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 308ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 309ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 310ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 311ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 312ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 313ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 314ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 315ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 316ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 317ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 318ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 319 320# We need dex2oat and dalvikvm on the target as well as the core image. 321TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_EXECUTABLES) $(TARGET_CORE_IMG_OUT) $(2ND_TARGET_CORE_IMG_OUT) 322 323# Also need libarttest. 324TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttest.so 325ifdef TARGET_2ND_ARCH 326TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libarttest.so 327endif 328 329# Also need libnativebridgetest. 330TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libnativebridgetest.so 331ifdef TARGET_2ND_ARCH 332TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libnativebridgetest.so 333endif 334 335# All tests require the host executables and the core images. 336ART_TEST_HOST_RUN_TEST_DEPENDENCIES := \ 337 $(ART_HOST_EXECUTABLES) \ 338 $(ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \ 339 $(ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \ 340 $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \ 341 $(HOST_CORE_IMG_OUT) 342 343ifneq ($(HOST_PREFER_32_BIT),true) 344ART_TEST_HOST_RUN_TEST_DEPENDENCIES += \ 345 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \ 346 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \ 347 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \ 348 $(2ND_HOST_CORE_IMG_OUT) 349endif 350 351# For a given test create all the combinations of host/target, compiler and suffix such as: 352# test-art-host-run-test-optimizing-003-omnibus-opcodes32 353# $(1): test name, e.g. 003-omnibus-opcodes 354# $(2): host or target 355# $(3): default, optimizing or interpreter 356# $(4): 32 or 64 357# $(5): run tests with tracing or GC verification enabled or not: trace, gcverify or undefined 358# $(6): relocate, norelocate, no-prebuild or undefined. 359define define-test-art-run-test 360 run_test_options := $(addprefix --runtime-option ,$(DALVIKVM_FLAGS)) 361 run_test_rule_name := 362 uc_host_or_target := 363 prereq_rule := 364 skip_test := false 365 uc_reloc_type := 366 ifeq ($(ART_TEST_RUN_TEST_ALWAYS_CLEAN),true) 367 run_test_options += --always-clean 368 endif 369 ifeq ($(2),host) 370 uc_host_or_target := HOST 371 run_test_options += --host 372 prereq_rule := $(ART_TEST_HOST_RUN_TEST_DEPENDENCIES) 373 else 374 ifeq ($(2),target) 375 uc_host_or_target := TARGET 376 prereq_rule := test-art-target-sync 377 else 378 $$(error found $(2) expected host or target) 379 endif 380 endif 381 ifeq ($(6),relocate) 382 uc_reloc_type := RELOCATE 383 run_test_options += --relocate --no-prebuild 384 ifneq ($(ART_TEST_RUN_TEST_RELOCATE),true) 385 skip_test := true 386 endif 387 else 388 ifeq ($(6),no-prebuild) 389 uc_reloc_type := NO_PREBUILD 390 run_test_options += --no-relocate --no-prebuild 391 ifneq ($(ART_TEST_RUN_TEST_NO_PREBUILD),true) 392 skip_test := true 393 endif 394 else 395 ifeq ($(6),norelocate) 396 uc_reloc_type := NORELOCATE 397 run_test_options += --no-relocate --prebuild 398 ifneq ($(ART_TEST_RUN_TEST_NO_RELOCATE),true) 399 skip_test := true 400 endif 401 else 402 uc_reloc_type := PREBUILD 403 run_test_options += --relocate --prebuild 404 ifneq ($(ART_TEST_RUN_TEST_PREBUILD),true) 405 skip_test := true 406 endif 407 endif 408 endif 409 endif 410 uc_compiler := 411 ifeq ($(3),optimizing) 412 uc_compiler := OPTIMIZING 413 run_test_options += -Xcompiler-option --compiler-backend=Optimizing 414 ifneq ($$(ART_TEST_OPTIMIZING),true) 415 skip_test := true 416 endif 417 else 418 ifeq ($(3),interpreter) 419 uc_compiler := INTERPRETER 420 run_test_options += --interpreter 421 else 422 ifeq ($(3),default) 423 uc_compiler := DEFAULT 424 else 425 $$(error found $(3) expected optimizing, interpreter or default) 426 endif 427 endif 428 endif 429 ifeq ($(4),64) 430 run_test_options += --64 431 else 432 ifneq ($(4),32) 433 $$(error found $(4) expected 32 or 64) 434 endif 435 endif 436 ifeq ($(5),trace) 437 run_test_options += --trace 438 run_test_rule_name := test-art-$(2)-run-test-trace-$(3)-$(6)-$(1)$(4) 439 ifneq ($$(ART_TEST_TRACE),true) 440 skip_test := true 441 endif 442 else 443 ifeq ($(5),gcverify) 444 run_test_options += --runtime-option -Xgc:preverify --runtime-option -Xgc:postverify \ 445 --runtime-option -Xgc:preverify_rosalloc --runtime-option -Xgc:postverify_rosalloc 446 run_test_rule_name := test-art-$(2)-run-test-gcverify-$(3)-$(6)-$(1)$(4) 447 ifneq ($$(ART_TEST_GC_VERIFY),true) 448 skip_test := true 449 endif 450 else 451 ifeq ($(5),gcstress) 452 run_test_options += --runtime-option -Xgc:SS --runtime-option -Xms2m \ 453 --runtime-option -Xmx2m --runtime-option -Xgc:preverify --runtime-option -Xgc:postverify 454 run_test_rule_name := test-art-$(2)-run-test-gcstress-$(3)-$(6)-$(1)$(4) 455 ifneq ($$(ART_TEST_GC_STRESS),true) 456 skip_test := true 457 endif 458 else 459 ifneq (,$(5)) 460 $$(error found $(5) expected undefined or gcverify, gcstress or trace) 461 endif 462 run_test_rule_name := test-art-$(2)-run-test-$(3)-$(6)-$(1)$(4) 463 endif 464 endif 465 endif 466 ifeq ($$(skip_test),false) 467 run_test_options := --output-path $(ART_HOST_TEST_DIR)/run-test-output/$$(run_test_rule_name) \ 468 $$(run_test_options) 469$$(run_test_rule_name): PRIVATE_RUN_TEST_OPTIONS := $$(run_test_options) 470.PHONY: $$(run_test_rule_name) 471$$(run_test_rule_name): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin $$(prereq_rule) 472 $(hide) $$(call ART_TEST_SKIP,$$@) && \ 473 DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \ 474 art/test/run-test $$(PRIVATE_RUN_TEST_OPTIONS) $(1) \ 475 && $$(call ART_TEST_PASSED,$$@) || $$(call ART_TEST_FAILED,$$@) 476 $$(hide) (echo $(MAKECMDGOALS) | grep -q $$@ && \ 477 echo "run-test run as top-level target, removing test directory $(ART_HOST_TEST_DIR)" && \ 478 rm -r $(ART_HOST_TEST_DIR)) || true 479 else 480 .PHONY: $$(run_test_rule_name) 481$$(run_test_rule_name): 482 endif 483 484 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)$(4)_RULES += $$(run_test_rule_name) 485 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_RULES += $$(run_test_rule_name) 486 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_$(1)_RULES += $$(run_test_rule_name) 487 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_$$(uc_reloc_type)_RULES += $$(run_test_rule_name) 488 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$(1)_RULES += $$(run_test_rule_name) 489 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$(1)$(4)_RULES += $$(run_test_rule_name) 490 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL_RULES += $$(run_test_rule_name) 491 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_reloc_type)_RULES += $$(run_test_rule_name) 492 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL$(4)_RULES += $$(run_test_rule_name) 493 494 # Clear locally defined variables. 495 skip_test := 496 run_test_options := 497 run_test_rule_name := 498 uc_host_or_target := 499 prereq_rule := 500 uc_reloc_type := 501 uc_compiler := 502endef # define-test-art-run-test 503 504# Define a phony rule whose purpose is to test its prerequisites. 505# $(1): rule name, e.g. test-art-host-run-test32 506# $(2): list of prerequisites 507define define-test-art-run-test-group-rule 508.PHONY: $(1) 509$(1): $(2) 510 $(hide) $$(call ART_TEST_PREREQ_FINISHED,$$@) 511 512endef # define-test-art-run-test-group-rule 513 514# Create rules for a group of run tests. 515# $(1): test name, e.g. 003-omnibus-opcodes 516# $(2): host or target 517# $(3): relocate, norelocate or no-prebuild, or prebuild. 518define define-test-art-run-test-group-type 519 group_uc_host_or_target := 520 ifeq ($(2),host) 521 group_uc_host_or_target := HOST 522 else 523 ifeq ($(2),target) 524 group_uc_host_or_target := TARGET 525 else 526 $$(error found $(2) expected host or target) 527 endif 528 endif 529 530 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3))) 531 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3))) 532 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3))) 533 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3))) 534 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3))) 535 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3))) 536 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3))) 537 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3))) 538 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3))) 539 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3))) 540 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3))) 541 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3))) 542 do_second := false 543 ifeq ($(2),host) 544 ifneq ($$(HOST_PREFER_32_BIT),true) 545 do_second := true 546 endif 547 else 548 ifdef TARGET_2ND_ARCH 549 do_second := true 550 endif 551 endif 552 ifeq (true,$$(do_second)) 553 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3))) 554 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3))) 555 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3))) 556 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3))) 557 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3))) 558 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3))) 559 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3))) 560 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3))) 561 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3))) 562 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3))) 563 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3))) 564 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3))) 565 endif 566endef # define-test-art-run-test-group-type 567 568# Create rules for a group of run tests. 569# $(1): test name, e.g. 003-omnibus-opcodes 570# $(2): host or target 571define define-test-art-run-test-group 572 group_uc_host_or_target := 573 ifeq ($(2),host) 574 group_uc_host_or_target := HOST 575 else 576 ifeq ($(2),target) 577 group_uc_host_or_target := TARGET 578 else 579 $$(error found $(2) expected host or target) 580 endif 581 endif 582 do_second := false 583 ifeq ($(2),host) 584 ifneq ($$(HOST_PREFER_32_BIT),true) 585 do_second := true 586 endif 587 else 588 ifdef TARGET_2ND_ARCH 589 do_second := true 590 endif 591 endif 592 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES := 593 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES := 594 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES := 595 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES := 596 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES := 597 ifeq ($$(do_second),true) 598 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES := 599 endif 600 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),prebuild)) 601 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),norelocate)) 602 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),relocate)) 603 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),no-prebuild)) 604 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-default-$(1), \ 605 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES))) 606 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-interpreter-$(1), \ 607 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES))) 608 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-optimizing-$(1), \ 609 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES))) 610 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1), \ 611 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES))) 612 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX), \ 613 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES))) 614 ifeq ($$(do_second),true) 615 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX), \ 616 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES))) 617 endif 618 619 # Clear locally defined variables. 620 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES := 621 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES := 622 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES := 623 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES := 624 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES := 625 ifeq ($$(do_second),true) 626 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES := 627 endif 628 group_uc_host_or_target := 629 do_second := 630endef # define-test-art-run-test-group 631 632$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),target))) 633$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),host))) 634 635$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild, \ 636 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES))) 637$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild, \ 638 $(ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES))) 639$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate, \ 640 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES))) 641$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate, \ 642 $(ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES))) 643$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test, \ 644 $(ART_TEST_TARGET_RUN_TEST_ALL_RULES))) 645$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default, \ 646 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES))) 647$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter, \ 648 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES))) 649$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing, \ 650 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES))) 651$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild, \ 652 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES))) 653$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild, \ 654 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES))) 655$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild, \ 656 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES))) 657$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild, \ 658 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES))) 659$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild, \ 660 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES))) 661$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild, \ 662 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES))) 663$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate, \ 664 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES))) 665$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate, \ 666 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES))) 667$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate, \ 668 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES))) 669$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate, \ 670 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES))) 671$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate, \ 672 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES))) 673$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate, \ 674 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES))) 675$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(ART_PHONY_TEST_TARGET_SUFFIX), \ 676 $(ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 677$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(ART_PHONY_TEST_TARGET_SUFFIX), \ 678 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 679$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(ART_PHONY_TEST_TARGET_SUFFIX), \ 680 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 681$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(ART_PHONY_TEST_TARGET_SUFFIX), \ 682 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 683$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \ 684 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 685$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \ 686 $(ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 687$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \ 688 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 689$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \ 690 $(ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 691$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \ 692 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 693$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \ 694 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 695$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \ 696 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 697$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \ 698 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 699$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \ 700 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 701$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \ 702 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 703$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \ 704 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 705$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \ 706 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 707$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \ 708 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 709$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \ 710 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 711$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \ 712 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 713$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \ 714 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 715ifdef TARGET_2ND_ARCH 716 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 717 $(ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 718 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 719 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 720 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 721 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 722 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 723 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 724 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 725 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 726 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 727 $(ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 728 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 729 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 730 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 731 $(ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 732 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 733 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 734 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 735 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 736 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 737 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 738 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 739 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 740 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 741 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 742 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 743 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 744 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 745 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 746 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 747 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 748 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 749 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 750 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 751 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 752 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 753 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 754 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \ 755 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES))) 756endif 757 758$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild, \ 759 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES))) 760$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild, \ 761 $(ART_TEST_HOST_RUN_TEST_PREBUILD_RULES))) 762$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate, \ 763 $(ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES))) 764$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate, \ 765 $(ART_TEST_HOST_RUN_TEST_RELOCATE_RULES))) 766$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test, \ 767 $(ART_TEST_HOST_RUN_TEST_ALL_RULES))) 768$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default, \ 769 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RULES))) 770$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter, \ 771 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES))) 772$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing, \ 773 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES))) 774$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild, \ 775 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES))) 776$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild, \ 777 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES))) 778$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild, \ 779 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES))) 780$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild, \ 781 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES))) 782$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild, \ 783 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES))) 784$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild, \ 785 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES))) 786$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate, \ 787 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES))) 788$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate, \ 789 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES))) 790$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate, \ 791 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES))) 792$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate, \ 793 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES))) 794$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate, \ 795 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES))) 796$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate, \ 797 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES))) 798$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(ART_PHONY_TEST_HOST_SUFFIX), \ 799 $(ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 800$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(ART_PHONY_TEST_HOST_SUFFIX), \ 801 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 802$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(ART_PHONY_TEST_HOST_SUFFIX), \ 803 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 804$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(ART_PHONY_TEST_HOST_SUFFIX), \ 805 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 806$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \ 807 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 808$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \ 809 $(ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 810$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \ 811 $(ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 812$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \ 813 $(ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 814$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \ 815 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 816$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \ 817 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 818$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \ 819 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 820$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \ 821 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 822$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \ 823 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 824$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \ 825 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 826$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \ 827 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 828$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \ 829 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 830$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \ 831 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 832$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \ 833 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 834$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \ 835 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 836$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \ 837 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 838ifneq ($(HOST_PREFER_32_BIT),true) 839 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 840 $(ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 841 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 842 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 843 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 844 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 845 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 846 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 847 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 848 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 849 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 850 $(ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 851 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 852 $(ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 853 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 854 $(ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 855 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 856 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 857 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 858 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 859 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 860 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 861 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 862 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 863 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 864 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 865 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 866 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 867 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 868 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 869 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 870 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 871 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 872 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 873 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 874 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 875 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 876 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 877 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \ 878 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES))) 879endif 880 881# include libarttest build rules. 882include $(LOCAL_PATH)/Android.libarttest.mk 883 884# Include libnativebridgetest build rules. 885include art/test/Android.libnativebridgetest.mk 886 887define-test-art-run-test := 888define-test-art-run-test-group-rule := 889define-test-art-run-test-group := 890TEST_ART_RUN_TESTS := 891ART_TEST_TARGET_RUN_TEST_ALL_RULES := 892ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES := 893ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES := 894ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES := 895ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES := 896ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES := 897ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES := 898ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES := 899ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES := 900ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES := 901ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES := 902ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES := 903ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES := 904ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES := 905ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES := 906ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES := 907ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES := 908ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES := 909ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES := 910ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES := 911ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 912ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 913ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 914ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 915ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 916ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 917ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 918ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 919ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 920ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 921ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 922ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 923ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 924ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 925ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 926ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 927ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 928ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 929ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 930ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 931ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 932ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 933ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 934ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 935ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 936ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 937ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 938ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 939ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 940ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 941ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 942ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 943ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 944ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 945ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 946ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 947ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 948ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES := 949ART_TEST_HOST_RUN_TEST_ALL_RULES := 950ART_TEST_HOST_RUN_TEST_DEFAULT_RULES := 951ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES := 952ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES := 953ART_TEST_HOST_RUN_TEST_RELOCATE_RULES := 954ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES := 955ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES := 956ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES := 957ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES := 958ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES := 959ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES := 960ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES := 961ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES := 962ART_TEST_HOST_RUN_TEST_PREBUILD_RULES := 963ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES := 964ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES := 965ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES := 966ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES := 967ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES := 968ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES := 969ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 970ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 971ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 972ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 973ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 974ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 975ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 976ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 977ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 978ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 979ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 980ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 981ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 982ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 983ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 984ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 985ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 986ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES := 987ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 988ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 989ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 990ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 991ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 992ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 993ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 994ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 995ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 996ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 997ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 998ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 999ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 1000ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 1001ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 1002ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 1003ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 1004ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 1005ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 1006ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES := 1007