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