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