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