blob: 9623075c5629d598f4b04137bf7faef941a8f384 [file] [log] [blame]
Ian Rogersafd9acc2014-06-17 08:21:54 -07001# 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
Ian Rogers88138202014-07-18 20:56:27 -070024# List all the test names for host and target and compiler variants.
Ian Rogers716e4f82014-07-16 11:18:03 -070025# $(1): test name, e.g. 003-omnibus-opcodes
Ian Rogers88138202014-07-18 20:56:27 -070026# $(2): undefined, -trace, -gcverify or -gcstress
Alex Light9d722532014-07-22 18:07:12 -070027# $(3): -relocate, -norelocate, -no-prebuild, or undefined.
Ian Rogers716e4f82014-07-16 11:18:03 -070028define all-run-test-names
Alex Lighta59dd802014-07-02 16:28:08 -070029 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
Ian Rogers716e4f82014-07-16 11:18:03 -070041endef # all-run-test-names
42
Ian Rogersafd9acc2014-06-17 08:21:54 -070043# Tests that are timing sensitive and flaky on heavily loaded systems.
44TEST_ART_TIMING_SENSITIVE_RUN_TESTS := \
Ian Rogers716e4f82014-07-16 11:18:03 -070045 053-wait-some \
46 055-enum-performance
Ian Rogersafd9acc2014-06-17 08:21:54 -070047
48 # disable timing sensitive tests on "dist" builds.
49ifdef dist_goal
Alex Lighta59dd802014-07-02 16:28:08 -070050 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))
Alex Light9d722532014-07-22 18:07:12 -070066 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,-no-prebuild))
67 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-no-prebuild))
68 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,-no-prebuild))
69 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-no-prebuild))
Ian Rogersafd9acc2014-06-17 08:21:54 -070070endif
71
Ian Rogers716e4f82014-07-16 11:18:03 -070072# Tests that are broken in --trace mode.
73TEST_ART_BROKEN_TRACE_RUN_TESTS := \
74 003-omnibus-opcodes \
75 004-annotations \
Ian Rogers8a14b752014-07-18 15:06:53 -070076 012-math \
Ian Rogers716e4f82014-07-16 11:18:03 -070077 018-stack-overflow \
78 023-many-interfaces \
Ian Rogers4cd99b02014-07-18 19:52:07 -070079 027-arithmetic \
Ian Rogers716e4f82014-07-16 11:18:03 -070080 031-class-attributes \
81 037-inherit \
82 044-proxy \
83 046-reflect \
84 051-thread \
85 055-enum-performance \
Ian Rogers4cd99b02014-07-18 19:52:07 -070086 062-character-encodings \
Ian Rogers716e4f82014-07-16 11:18:03 -070087 064-field-access \
Ian Rogers4cd99b02014-07-18 19:52:07 -070088 074-gc-thrash \
Ian Rogers716e4f82014-07-16 11:18:03 -070089 078-polymorphic-virtual \
90 080-oom-throw \
91 082-inline-execute \
92 083-compiler-regressions \
Ian Rogers55bce0c2014-07-16 14:49:34 -070093 093-serialization \
Ian Rogers716e4f82014-07-16 11:18:03 -070094 097-duplicate-method \
95 100-reflect2 \
96 102-concurrent-gc \
97 103-string-append \
98 107-int-math2 \
99 112-double-math \
Ian Rogers4cd99b02014-07-18 19:52:07 -0700100 700-LoadArgRegs \
Ian Rogers716e4f82014-07-16 11:18:03 -0700101 701-easy-div-rem
102
Alex Lighta59dd802014-07-02 16:28:08 -0700103ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-relocate))
Alex Light9d722532014-07-22 18:07:12 -0700104ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-no-prebuild))
Alex Lighta59dd802014-07-02 16:28:08 -0700105ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-prebuild))
106ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-norelocate))
107ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,))
Ian Rogers716e4f82014-07-16 11:18:03 -0700108
Ian Rogers8a14b752014-07-18 15:06:53 -0700109# Tests that need more than 2MB of RAM or are running into other corner cases in GC stress related
110# to OOMEs.
111TEST_ART_BROKEN_GCSTRESS_RUN_TESTS := \
112 074-gc-thrash \
113 080-oom-throw \
Ian Rogerse1cd4382014-07-18 22:38:56 -0700114 096-array-copy-concurrent-gc
Ian Rogers8a14b752014-07-18 15:06:53 -0700115
Alex Lighta59dd802014-07-02 16:28:08 -0700116ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-relocate))
Alex Light9d722532014-07-22 18:07:12 -0700117ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-no-prebuild))
Alex Lighta59dd802014-07-02 16:28:08 -0700118ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-prebuild))
119ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-norelocate))
120ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,))
Ian Rogers8a14b752014-07-18 15:06:53 -0700121
122
Ian Rogersafd9acc2014-06-17 08:21:54 -0700123# The path where build only targets will be output, e.g.
124# out/target/product/generic_x86_64/obj/PACKAGING/art-run-tests_intermediates/DATA
125art_run_tests_dir := $(call intermediates-dir-for,PACKAGING,art-run-tests)/DATA
126
127# A generated list of prerequisites that call 'run-test --build-only', the actual prerequisite is
128# an empty file touched in the intermediate directory.
129TEST_ART_RUN_TEST_BUILD_RULES :=
130
131# Helper to create individual build targets for tests. Must be called with $(eval).
132# $(1): the test number
133define define-build-art-run-test
134 dmart_target := $(art_run_tests_dir)/art-run-tests/$(1)/touch
135$$(dmart_target): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin
136 $(hide) rm -rf $$(dir $$@) && mkdir -p $$(dir $$@)
137 $(hide) DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
138 $(LOCAL_PATH)/run-test --build-only --output-path $$(abspath $$(dir $$@)) $(1)
139 $(hide) touch $$@
140
141 TEST_ART_RUN_TEST_BUILD_RULES += $$(dmart_target)
142 dmart_target :=
143endef
Ian Rogersbf66bce2014-06-24 23:15:34 -0700144$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-build-art-run-test,$(test))))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700145
146include $(CLEAR_VARS)
147LOCAL_MODULE_TAGS := tests
148LOCAL_MODULE := art-run-tests
149LOCAL_ADDITIONAL_DEPENDENCIES := $(TEST_ART_RUN_TEST_BUILD_RULES)
150# The build system use this flag to pick up files generated by declare-make-art-run-test.
151LOCAL_PICKUP_FILES := $(art_run_tests_dir)
152
153include $(BUILD_PHONY_PACKAGE)
154
155# Clear temp vars.
Ian Rogers8a14b752014-07-18 15:06:53 -0700156all-run-test-names :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700157art_run_tests_dir :=
158define-build-art-run-test :=
Ian Rogers8a14b752014-07-18 15:06:53 -0700159TEST_ART_RUN_TEST_BUILD_RULES :=
Ian Rogers8a14b752014-07-18 15:06:53 -0700160TEST_ART_TIMING_SENSITIVE_RUN_TESTS :=
161TEST_ART_BROKEN_TRACE_RUN_TESTS :=
162TEST_ART_BROKEN_GCSTRESS_RUN_TESTS :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700163
164########################################################################
165
166ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
167ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
168ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
169ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700170ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES :=
171ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES :=
172ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
173ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
174ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES :=
175ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
176ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
177ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700178ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700179ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700180ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700181ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700182ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700183ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700184ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700185ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700186ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
187ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
188ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
189ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700190ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
191ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
192ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
193ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
194ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
195ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
196ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
197ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700198ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700199ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700200ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700201ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700202ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700203ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700204ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
205ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
206ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
207ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700208ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
209ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
210ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
211ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
212ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
213ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
214ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
215ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700216ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700217ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700218ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700219ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700220ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700221ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700222ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700223ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700224ART_TEST_HOST_RUN_TEST_ALL_RULES :=
225ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
226ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
227ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700228ART_TEST_HOST_RUN_TEST_RELOCATE_RULES :=
229ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES :=
230ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
231ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
232ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES :=
233ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
234ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
235ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700236ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700237ART_TEST_HOST_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700238ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700239ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700240ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700241ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700242ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700243ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700244ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700245ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
246ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
247ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700248ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
249ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
250ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
251ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
252ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
253ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
254ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
255ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700256ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700257ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700258ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700259ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700260ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700261ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700262ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700263ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
264ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
265ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700266ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
267ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
268ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
269ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
270ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
271ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
272ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
273ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700274ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700275ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700276ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700277ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700278ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700279ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700280ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700281ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700282
283# We need dex2oat and dalvikvm on the target as well as the core image.
284TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_EXECUTABLES) $(TARGET_CORE_IMG_OUT) $(2ND_TARGET_CORE_IMG_OUT)
285
286# All tests require the host executables and the core images.
287ART_TEST_HOST_RUN_TEST_DEPENDENCIES := \
288 $(ART_HOST_EXECUTABLES) \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100289 $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Brian Carlstrom519e3d02014-06-25 00:57:36 -0700290 $(HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700291
292ifneq ($(HOST_PREFER_32_BIT),true)
293ART_TEST_HOST_RUN_TEST_DEPENDENCIES += \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100294 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Ian Rogersafd9acc2014-06-17 08:21:54 -0700295 $(2ND_HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700296endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700297
298# For a given test create all the combinations of host/target, compiler and suffix such as:
299# test-art-host-run-test-optimizing-003-omnibus-opcodes32
300# $(1): test name, e.g. 003-omnibus-opcodes
301# $(2): host or target
302# $(3): default, optimizing or interpreter
303# $(4): 32 or 64
Ian Rogers701aa642014-07-18 11:38:13 -0700304# $(5): run tests with tracing or GC verification enabled or not: trace, gcverify or undefined
Alex Light9d722532014-07-22 18:07:12 -0700305# $(6): relocate, norelocate, no-prebuild or undefined.
Ian Rogersafd9acc2014-06-17 08:21:54 -0700306define define-test-art-run-test
307 run_test_options := $(addprefix --runtime-option ,$(DALVIKVM_FLAGS))
Alex Lighta59dd802014-07-02 16:28:08 -0700308 run_test_rule_name :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700309 uc_host_or_target :=
310 prereq_rule :=
Ian Rogers064a59d2014-07-18 15:55:59 -0700311 skip_test := false
Alex Lighta59dd802014-07-02 16:28:08 -0700312 uc_reloc_type :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700313 ifeq ($(2),host)
314 uc_host_or_target := HOST
315 run_test_options += --host
316 prereq_rule := $(ART_TEST_HOST_RUN_TEST_DEPENDENCIES)
317 else
318 ifeq ($(2),target)
319 uc_host_or_target := TARGET
320 prereq_rule := test-art-target-sync
321 else
322 $$(error found $(2) expected host or target)
323 endif
324 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700325 ifeq ($(6),relocate)
326 uc_reloc_type := RELOCATE
Alex Light9d722532014-07-22 18:07:12 -0700327 run_test_options += --relocate --no-prebuild
Alex Lighta59dd802014-07-02 16:28:08 -0700328 ifneq ($(ART_TEST_RUN_TEST_RELOCATE),true)
329 skip_test := true
330 endif
331 else
Alex Light9d722532014-07-22 18:07:12 -0700332 ifeq ($(6),no-prebuild)
333 uc_reloc_type := NO_PREBUILD
334 run_test_options += --no-relocate --no-prebuild
335 ifneq ($(ART_TEST_RUN_TEST_NO_PREBUILD),true)
Alex Lighta59dd802014-07-02 16:28:08 -0700336 skip_test := true
337 endif
338 else
339 ifeq ($(6),norelocate)
340 uc_reloc_type := NORELOCATE
Alex Light9d722532014-07-22 18:07:12 -0700341 run_test_options += --no-relocate --prebuild
Alex Lighta59dd802014-07-02 16:28:08 -0700342 ifneq ($(ART_TEST_RUN_TEST_NO_RELOCATE),true)
343 skip_test := true
344 endif
345 else
Alex Light9d722532014-07-22 18:07:12 -0700346 uc_reloc_type := PREBUILD
347 run_test_options += --relocate --prebuild
Alex Lighta59dd802014-07-02 16:28:08 -0700348 endif
349 endif
350 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700351 uc_compiler :=
352 ifeq ($(3),optimizing)
353 uc_compiler := OPTIMIZING
354 run_test_options += -Xcompiler-option --compiler-backend=Optimizing
Ian Rogers5242c0a2014-07-18 11:02:19 -0700355 ifneq ($$(ART_TEST_OPTIMIZING),true)
356 skip_test := true
357 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700358 else
359 ifeq ($(3),interpreter)
360 uc_compiler := INTERPRETER
361 run_test_options += --interpreter
362 else
363 ifeq ($(3),default)
364 uc_compiler := DEFAULT
365 else
366 $$(error found $(3) expected optimizing, interpreter or default)
367 endif
368 endif
369 endif
370 ifeq ($(4),64)
371 run_test_options += --64
372 else
373 ifneq ($(4),32)
374 $$(error found $(4) expected 32 or 64)
375 endif
376 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700377 ifeq ($(5),trace)
378 run_test_options += --trace
Alex Lighta59dd802014-07-02 16:28:08 -0700379 run_test_rule_name := test-art-$(2)-run-test-trace-$(3)-$(6)-$(1)$(4)
Ian Rogers5242c0a2014-07-18 11:02:19 -0700380 ifneq ($$(ART_TEST_TRACE),true)
381 skip_test := true
382 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700383 else
Ian Rogers701aa642014-07-18 11:38:13 -0700384 ifeq ($(5),gcverify)
385 run_test_options += --runtime-option -Xgc:preverify --runtime-option -Xgc:postverify \
386 --runtime-option -Xgc:preverify_rosalloc --runtime-option -Xgc:postverify_rosalloc
Alex Lighta59dd802014-07-02 16:28:08 -0700387 run_test_rule_name := test-art-$(2)-run-test-gcverify-$(3)-$(6)-$(1)$(4)
Ian Rogers701aa642014-07-18 11:38:13 -0700388 ifneq ($$(ART_TEST_GC_VERIFY),true)
389 skip_test := true
390 endif
391 else
Ian Rogers8a14b752014-07-18 15:06:53 -0700392 ifeq ($(5),gcstress)
393 run_test_options += --runtime-option -Xgc:SS --runtime-option -Xms2m \
394 --runtime-option -Xmx2m --runtime-option -Xgc:preverify --runtime-option -Xgc:postverify
Alex Lighta59dd802014-07-02 16:28:08 -0700395 run_test_rule_name := test-art-$(2)-run-test-gcstress-$(3)-$(6)-$(1)$(4)
Ian Rogers8a14b752014-07-18 15:06:53 -0700396 ifneq ($$(ART_TEST_GC_STRESS),true)
397 skip_test := true
398 endif
399 else
400 ifneq (,$(5))
401 $$(error found $(5) expected undefined or gcverify, gcstress or trace)
402 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700403 run_test_rule_name := test-art-$(2)-run-test-$(3)-$(6)-$(1)$(4)
Ian Rogers701aa642014-07-18 11:38:13 -0700404 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700405 endif
406 endif
Ian Rogers5242c0a2014-07-18 11:02:19 -0700407 ifeq ($$(skip_test),false)
408 run_test_options := --output-path $(ART_HOST_TEST_DIR)/run-test-output/$$(run_test_rule_name) \
409 $$(run_test_options)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700410$$(run_test_rule_name): PRIVATE_RUN_TEST_OPTIONS := $$(run_test_options)
411.PHONY: $$(run_test_rule_name)
412$$(run_test_rule_name): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin $$(prereq_rule)
413 $(hide) $$(call ART_TEST_SKIP,$$@) && \
414 DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
415 art/test/run-test $$(PRIVATE_RUN_TEST_OPTIONS) $(1) \
416 && $$(call ART_TEST_PASSED,$$@) || $$(call ART_TEST_FAILED,$$@)
417 $$(hide) (echo $(MAKECMDGOALS) | grep -q $$@ && \
418 echo "run-test run as top-level target, removing test directory $(ART_HOST_TEST_DIR)" && \
419 rm -r $(ART_HOST_TEST_DIR)) || true
Ian Rogers5242c0a2014-07-18 11:02:19 -0700420 else
421 .PHONY: $$(run_test_rule_name)
422$$(run_test_rule_name):
423 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700424
Ian Rogersafd9acc2014-06-17 08:21:54 -0700425 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)$(4)_RULES += $$(run_test_rule_name)
426 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_RULES += $$(run_test_rule_name)
427 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_$(1)_RULES += $$(run_test_rule_name)
Alex Lighta59dd802014-07-02 16:28:08 -0700428 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_$$(uc_reloc_type)_RULES += $$(run_test_rule_name)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700429 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$(1)_RULES += $$(run_test_rule_name)
430 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL_RULES += $$(run_test_rule_name)
Alex Lighta59dd802014-07-02 16:28:08 -0700431 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_reloc_type)_RULES += $$(run_test_rule_name)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700432 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL$(4)_RULES += $$(run_test_rule_name)
433
434 # Clear locally defined variables.
Ian Rogers5242c0a2014-07-18 11:02:19 -0700435 skip_test :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700436 run_test_options :=
437 run_test_rule_name :=
438 uc_host_or_target :=
439 prereq_rule :=
Alex Lighta59dd802014-07-02 16:28:08 -0700440 uc_reloc_type :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700441 uc_compiler :=
442endef # define-test-art-run-test
443
444# Define a phony rule whose purpose is to test its prerequisites.
445# $(1): rule name, e.g. test-art-host-run-test32
446# $(2): list of prerequisites
447define define-test-art-run-test-group-rule
448.PHONY: $(1)
449$(1): $(2)
450 $(hide) $$(call ART_TEST_PREREQ_FINISHED,$$@)
451
452endef # define-test-art-run-test-group-rule
453
454# Create rules for a group of run tests.
455# $(1): test name, e.g. 003-omnibus-opcodes
456# $(2): host or target
Alex Light9d722532014-07-22 18:07:12 -0700457# $(3): relocate, norelocate or no-prebuild, or prebuild.
Alex Lighta59dd802014-07-02 16:28:08 -0700458define define-test-art-run-test-group-type
Ian Rogersafd9acc2014-06-17 08:21:54 -0700459 group_uc_host_or_target :=
460 ifeq ($(2),host)
461 group_uc_host_or_target := HOST
462 else
463 ifeq ($(2),target)
464 group_uc_host_or_target := TARGET
465 else
466 $$(error found $(2) expected host or target)
467 endif
468 endif
469
470 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
471 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
472 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
473 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700474 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
475 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
476 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
477 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
478 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
479 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
480 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
481 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
482 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
483 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
484 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
485 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700486 do_second := false
487 ifeq ($(2),host)
488 ifneq ($$(HOST_PREFER_32_BIT),true)
489 do_second := true
490 endif
491 else
492 ifdef TARGET_2ND_ARCH
493 do_second := true
494 endif
495 endif
496 ifeq (true,$$(do_second))
Alex Lighta59dd802014-07-02 16:28:08 -0700497 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
498 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
499 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
500 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
501 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
502 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
503 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
504 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
505 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
506 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
507 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
508 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700509 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700510endef # define-test-art-run-test-group-type
Ian Rogersafd9acc2014-06-17 08:21:54 -0700511
Alex Lighta59dd802014-07-02 16:28:08 -0700512# Create rules for a group of run tests.
513# $(1): test name, e.g. 003-omnibus-opcodes
514# $(2): host or target
515define define-test-art-run-test-group
516 group_uc_host_or_target :=
517 ifeq ($(2),host)
518 group_uc_host_or_target := HOST
519 else
520 ifeq ($(2),target)
521 group_uc_host_or_target := TARGET
522 else
523 $$(error found $(2) expected host or target)
524 endif
525 endif
526 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
527 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
528 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
529 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700530 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),prebuild))
Alex Lighta59dd802014-07-02 16:28:08 -0700531 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),norelocate))
532 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),relocate))
Alex Light9d722532014-07-22 18:07:12 -0700533 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),no-prebuild))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700534 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-default-$(1), \
535 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES)))
536 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-interpreter-$(1), \
537 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES)))
538 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-optimizing-$(1), \
539 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES)))
540 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1), \
541 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES)))
542
543 # Clear locally defined variables.
544 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
545 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
546 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
547 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
548 group_uc_host_or_target :=
549 do_second :=
550endef # define-test-art-run-test-group
551
552$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),target)))
553$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),host)))
554
Alex Light9d722532014-07-22 18:07:12 -0700555$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild, \
556 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700557$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild, \
558 $(ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES)))
559$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate, \
560 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES)))
561$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate, \
562 $(ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700563$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test, \
564 $(ART_TEST_TARGET_RUN_TEST_ALL_RULES)))
565$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default, \
566 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES)))
567$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter, \
568 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES)))
569$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing, \
570 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700571$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild, \
572 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700573$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild, \
574 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700575$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild, \
576 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700577$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild, \
578 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700579$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild, \
580 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700581$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild, \
582 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES)))
583$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate, \
584 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES)))
585$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate, \
586 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES)))
587$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate, \
588 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES)))
589$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate, \
590 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES)))
591$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate, \
592 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES)))
593$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate, \
594 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700595$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(ART_PHONY_TEST_TARGET_SUFFIX), \
596 $(ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
597$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(ART_PHONY_TEST_TARGET_SUFFIX), \
598 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
599$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(ART_PHONY_TEST_TARGET_SUFFIX), \
600 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
601$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(ART_PHONY_TEST_TARGET_SUFFIX), \
602 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700603$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
604 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700605$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
606 $(ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
607$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
608 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
609$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
610 $(ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700611$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
612 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700613$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
614 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700615$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
616 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700617$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
618 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700619$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
620 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700621$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
622 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
623$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
624 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
625$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
626 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
627$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
628 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
629$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
630 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
631$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
632 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
633$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
634 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700635ifdef TARGET_2ND_ARCH
636 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
637 $(ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
638 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
639 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
640 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
641 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
642 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
643 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700644 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
645 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700646 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
647 $(ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
648 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
649 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
650 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
651 $(ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700652 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
653 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700654 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
655 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700656 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
657 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700658 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
659 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700660 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
661 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700662 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
663 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
664 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
665 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
666 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
667 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
668 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
669 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
670 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
671 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
672 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
673 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
674 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
675 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700676endif
677
Alex Light9d722532014-07-22 18:07:12 -0700678$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild, \
679 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700680$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild, \
681 $(ART_TEST_HOST_RUN_TEST_PREBUILD_RULES)))
682$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate, \
683 $(ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES)))
684$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate, \
685 $(ART_TEST_HOST_RUN_TEST_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700686$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test, \
687 $(ART_TEST_HOST_RUN_TEST_ALL_RULES)))
688$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default, \
689 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RULES)))
690$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter, \
691 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES)))
692$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing, \
693 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700694$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild, \
695 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700696$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild, \
697 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700698$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild, \
699 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700700$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild, \
701 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700702$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild, \
703 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700704$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild, \
705 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES)))
706$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate, \
707 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES)))
708$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate, \
709 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES)))
710$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate, \
711 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES)))
712$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate, \
713 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES)))
714$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate, \
715 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES)))
716$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate, \
717 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700718$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(ART_PHONY_TEST_HOST_SUFFIX), \
719 $(ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
720$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(ART_PHONY_TEST_HOST_SUFFIX), \
721 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
722$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(ART_PHONY_TEST_HOST_SUFFIX), \
723 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
724$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(ART_PHONY_TEST_HOST_SUFFIX), \
725 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700726$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
727 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700728$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
729 $(ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
730$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
731 $(ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
732$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
733 $(ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700734$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
735 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700736$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
737 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700738$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
739 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700740$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
741 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700742$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
743 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700744$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
745 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
746$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
747 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
748$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
749 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
750$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
751 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
752$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
753 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
754$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
755 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
756$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
757 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700758ifneq ($(HOST_PREFER_32_BIT),true)
759 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
760 $(ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
761 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
762 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
763 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
764 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
765 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
766 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700767 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
768 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700769 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
770 $(ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
771 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
772 $(ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
773 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
774 $(ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700775 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
776 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700777 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
778 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700779 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
780 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700781 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
782 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700783 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
784 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700785 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
786 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
787 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
788 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
789 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
790 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
791 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
792 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
793 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
794 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
795 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
796 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
797 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
798 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700799endif
800
801define-test-art-run-test :=
802define-test-art-run-test-group-rule :=
803define-test-art-run-test-group :=
Ian Rogers064a59d2014-07-18 15:55:59 -0700804TEST_ART_RUN_TESTS :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700805ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
806ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
807ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
808ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700809ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES :=
810ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES :=
811ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
812ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
813ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES :=
814ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
815ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
816ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700817ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700818ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700819ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700820ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700821ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700822ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700823ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700824ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700825ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
826ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
827ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
828ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700829ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
830ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
831ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
832ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
833ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
834ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
835ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
836ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700837ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700838ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700839ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700840ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700841ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700842ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700843ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
844ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
845ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
846ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700847ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
848ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
849ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
850ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
851ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
852ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
853ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
854ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700855ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700856ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700857ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700858ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700859ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700860ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700861ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700862ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700863ART_TEST_HOST_RUN_TEST_ALL_RULES :=
864ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
865ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
866ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700867ART_TEST_HOST_RUN_TEST_RELOCATE_RULES :=
868ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES :=
869ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
870ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
871ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES :=
872ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
873ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
874ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700875ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700876ART_TEST_HOST_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700877ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700878ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700879ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700880ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700881ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700882ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700883ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700884ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
885ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
886ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700887ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
888ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
889ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
890ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
891ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
892ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
893ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
894ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700895ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700896ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700897ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700898ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700899ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700900ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700901ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700902ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
903ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
904ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700905ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
906ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
907ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
908ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
909ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
910ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
911ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
912ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700913ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700914ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700915ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700916ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700917ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700918ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700919ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700920ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=