blob: 5c1bc0395fc10728c46b53f191a9e7c85d0d00e6 [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
Andreas Gampe855564b2014-07-25 02:32:19 -070043# Subset of the above for target only.
44define all-run-test-target-names
45 test-art-target-run-test$(2)-default$(3)-$(1)32 \
46 test-art-target-run-test$(2)-optimizing$(3)-$(1)32 \
47 test-art-target-run-test$(2)-interpreter$(3)-$(1)32 \
48 test-art-target-run-test$(2)-default$(3)-$(1)64 \
49 test-art-target-run-test$(2)-optimizing$(3)-$(1)64 \
50 test-art-target-run-test$(2)-interpreter$(3)-$(1)64
51endef # all-run-test-target-names
52
Ian Rogersafd9acc2014-06-17 08:21:54 -070053# Tests that are timing sensitive and flaky on heavily loaded systems.
54TEST_ART_TIMING_SENSITIVE_RUN_TESTS := \
Ian Rogers716e4f82014-07-16 11:18:03 -070055 053-wait-some \
56 055-enum-performance
Ian Rogersafd9acc2014-06-17 08:21:54 -070057
58 # disable timing sensitive tests on "dist" builds.
59ifdef dist_goal
Alex Lighta59dd802014-07-02 16:28:08 -070060 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,))
61 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,))
62 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,))
63 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,))
64 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,-relocate))
65 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-relocate))
66 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,-relocate))
67 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-relocate))
68 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,-norelocate))
69 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-norelocate))
70 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,-norelocate))
71 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-norelocate))
72 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,-prebuild))
73 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-prebuild))
74 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,-prebuild))
75 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-prebuild))
Alex Light9d722532014-07-22 18:07:12 -070076 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),,-no-prebuild))
77 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-no-prebuild))
78 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcverify,-no-prebuild))
79 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-no-prebuild))
Ian Rogersafd9acc2014-06-17 08:21:54 -070080endif
81
Ian Rogers716e4f82014-07-16 11:18:03 -070082# Tests that are broken in --trace mode.
83TEST_ART_BROKEN_TRACE_RUN_TESTS := \
Nicolas Geoffray167cc7c2014-07-29 08:33:44 +000084 003-omnibus-opcodes \
85 004-InterfaceTest \
Andreas Gampe1c83cbc2014-07-22 18:52:29 -070086 004-SignalTest \
Nicolas Geoffray167cc7c2014-07-29 08:33:44 +000087 004-ThreadStress \
88 005-annotations \
89 012-math \
Ian Rogers716e4f82014-07-16 11:18:03 -070090 018-stack-overflow \
Nicolas Geoffray167cc7c2014-07-29 08:33:44 +000091 023-many-interfaces \
92 027-arithmetic \
93 031-class-attributes \
94 037-inherit \
95 044-proxy \
96 046-reflect \
97 051-thread \
98 055-enum-performance \
99 062-character-encodings \
100 064-field-access \
101 074-gc-thrash \
102 078-polymorphic-virtual \
103 080-oom-throw \
104 082-inline-execute \
105 083-compiler-regressions \
106 093-serialization \
Ian Rogers716e4f82014-07-16 11:18:03 -0700107 097-duplicate-method \
Nicolas Geoffray167cc7c2014-07-29 08:33:44 +0000108 100-reflect2 \
109 102-concurrent-gc \
110 103-string-append \
111 107-int-math2 \
112 112-double-math \
113 114-ParallelGC \
114 700-LoadArgRegs \
115 701-easy-div-rem
Ian Rogers716e4f82014-07-16 11:18:03 -0700116
Alex Lighta59dd802014-07-02 16:28:08 -0700117ART_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 -0700118ART_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 -0700119ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-prebuild))
120ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-norelocate))
121ART_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 -0700122
Ian Rogers8a14b752014-07-18 15:06:53 -0700123# Tests that need more than 2MB of RAM or are running into other corner cases in GC stress related
124# to OOMEs.
Mathieu Chartierc5a83472014-07-23 18:45:17 -0700125TEST_ART_BROKEN_GCSTRESS_RUN_TESTS :=
Ian Rogers8a14b752014-07-18 15:06:53 -0700126
Alex Lighta59dd802014-07-02 16:28:08 -0700127ART_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 -0700128ART_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 -0700129ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-prebuild))
130ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-norelocate))
131ART_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 -0700132
Andreas Gampe855564b2014-07-25 02:32:19 -0700133# 115-native-bridge setup is complicated. Need to implement it correctly for the target.
134ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,)
135ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,)
136ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,)
137ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,)
138ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-relocate)
139ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-relocate)
140ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-relocate)
141ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-relocate)
142ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-norelocate)
143ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-norelocate)
144ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-norelocate)
145ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-norelocate)
146ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-prebuild)
147ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-prebuild)
148ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-prebuild)
149ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-prebuild)
150ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-no-prebuild)
151ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-no-prebuild)
152ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-no-prebuild)
153ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-no-prebuild)
Ian Rogers8a14b752014-07-18 15:06:53 -0700154
Ian Rogersafd9acc2014-06-17 08:21:54 -0700155# The path where build only targets will be output, e.g.
156# out/target/product/generic_x86_64/obj/PACKAGING/art-run-tests_intermediates/DATA
157art_run_tests_dir := $(call intermediates-dir-for,PACKAGING,art-run-tests)/DATA
158
159# A generated list of prerequisites that call 'run-test --build-only', the actual prerequisite is
160# an empty file touched in the intermediate directory.
161TEST_ART_RUN_TEST_BUILD_RULES :=
162
163# Helper to create individual build targets for tests. Must be called with $(eval).
164# $(1): the test number
165define define-build-art-run-test
166 dmart_target := $(art_run_tests_dir)/art-run-tests/$(1)/touch
167$$(dmart_target): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin
168 $(hide) rm -rf $$(dir $$@) && mkdir -p $$(dir $$@)
169 $(hide) DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
170 $(LOCAL_PATH)/run-test --build-only --output-path $$(abspath $$(dir $$@)) $(1)
171 $(hide) touch $$@
172
173 TEST_ART_RUN_TEST_BUILD_RULES += $$(dmart_target)
174 dmart_target :=
175endef
Ian Rogersbf66bce2014-06-24 23:15:34 -0700176$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-build-art-run-test,$(test))))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700177
178include $(CLEAR_VARS)
179LOCAL_MODULE_TAGS := tests
180LOCAL_MODULE := art-run-tests
181LOCAL_ADDITIONAL_DEPENDENCIES := $(TEST_ART_RUN_TEST_BUILD_RULES)
182# The build system use this flag to pick up files generated by declare-make-art-run-test.
183LOCAL_PICKUP_FILES := $(art_run_tests_dir)
184
185include $(BUILD_PHONY_PACKAGE)
186
187# Clear temp vars.
Ian Rogers8a14b752014-07-18 15:06:53 -0700188all-run-test-names :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700189art_run_tests_dir :=
190define-build-art-run-test :=
Ian Rogers8a14b752014-07-18 15:06:53 -0700191TEST_ART_RUN_TEST_BUILD_RULES :=
Ian Rogers8a14b752014-07-18 15:06:53 -0700192TEST_ART_TIMING_SENSITIVE_RUN_TESTS :=
193TEST_ART_BROKEN_TRACE_RUN_TESTS :=
194TEST_ART_BROKEN_GCSTRESS_RUN_TESTS :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700195
196########################################################################
197
198ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
199ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
200ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
201ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700202ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES :=
203ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES :=
204ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
205ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
206ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES :=
207ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
208ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
209ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700210ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700211ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700212ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700213ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700214ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700215ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700216ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700217ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700218ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
219ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
220ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
221ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700222ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
223ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
224ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
225ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
226ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
227ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
228ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
229ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700230ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700231ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700232ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700233ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700234ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700235ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700236ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
237ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
238ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
239ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700240ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
241ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
242ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
243ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
244ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
245ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
246ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
247ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700248ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700249ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700250ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700251ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700252ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700253ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700254ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700255ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700256ART_TEST_HOST_RUN_TEST_ALL_RULES :=
257ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
258ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
259ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700260ART_TEST_HOST_RUN_TEST_RELOCATE_RULES :=
261ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES :=
262ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
263ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
264ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES :=
265ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
266ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
267ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700268ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700269ART_TEST_HOST_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700270ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700271ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700272ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700273ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700274ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700275ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700276ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700277ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
278ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
279ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700280ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
281ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
282ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
283ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
284ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
285ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
286ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
287ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700288ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700289ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700290ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700291ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700292ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700293ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700294ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700295ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
296ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
297ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700298ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
299ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
300ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
301ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
302ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
303ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
304ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
305ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700306ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700307ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700308ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700309ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700310ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700311ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700312ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700313ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700314
315# We need dex2oat and dalvikvm on the target as well as the core image.
316TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_EXECUTABLES) $(TARGET_CORE_IMG_OUT) $(2ND_TARGET_CORE_IMG_OUT)
317
Andreas Gampe1c83cbc2014-07-22 18:52:29 -0700318# Also need libarttest.
319TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttest.so
320ifdef TARGET_2ND_ARCH
321TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libarttest.so
322endif
323
Andreas Gampe855564b2014-07-25 02:32:19 -0700324# Also need libnativebridgetest.
325TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libnativebridgetest.so
326ifdef TARGET_2ND_ARCH
327TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libnativebridgetest.so
328endif
329
Ian Rogersafd9acc2014-06-17 08:21:54 -0700330# All tests require the host executables and the core images.
331ART_TEST_HOST_RUN_TEST_DEPENDENCIES := \
332 $(ART_HOST_EXECUTABLES) \
Andreas Gampe1c83cbc2014-07-22 18:52:29 -0700333 $(ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \
Andreas Gampe855564b2014-07-25 02:32:19 -0700334 $(ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100335 $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Brian Carlstrom519e3d02014-06-25 00:57:36 -0700336 $(HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700337
338ifneq ($(HOST_PREFER_32_BIT),true)
339ART_TEST_HOST_RUN_TEST_DEPENDENCIES += \
Andreas Gampe1c83cbc2014-07-22 18:52:29 -0700340 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \
Andreas Gampe855564b2014-07-25 02:32:19 -0700341 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100342 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Ian Rogersafd9acc2014-06-17 08:21:54 -0700343 $(2ND_HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700344endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700345
346# For a given test create all the combinations of host/target, compiler and suffix such as:
347# test-art-host-run-test-optimizing-003-omnibus-opcodes32
348# $(1): test name, e.g. 003-omnibus-opcodes
349# $(2): host or target
350# $(3): default, optimizing or interpreter
351# $(4): 32 or 64
Ian Rogers701aa642014-07-18 11:38:13 -0700352# $(5): run tests with tracing or GC verification enabled or not: trace, gcverify or undefined
Alex Light9d722532014-07-22 18:07:12 -0700353# $(6): relocate, norelocate, no-prebuild or undefined.
Ian Rogersafd9acc2014-06-17 08:21:54 -0700354define define-test-art-run-test
355 run_test_options := $(addprefix --runtime-option ,$(DALVIKVM_FLAGS))
Alex Lighta59dd802014-07-02 16:28:08 -0700356 run_test_rule_name :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700357 uc_host_or_target :=
358 prereq_rule :=
Ian Rogers064a59d2014-07-18 15:55:59 -0700359 skip_test := false
Alex Lighta59dd802014-07-02 16:28:08 -0700360 uc_reloc_type :=
Alex Lightbfac14a2014-07-30 09:41:21 -0700361 ifeq ($(ART_TEST_RUN_TEST_ALWAYS_CLEAN),true)
362 run_test_options += --always-clean
363 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700364 ifeq ($(2),host)
365 uc_host_or_target := HOST
366 run_test_options += --host
367 prereq_rule := $(ART_TEST_HOST_RUN_TEST_DEPENDENCIES)
368 else
369 ifeq ($(2),target)
370 uc_host_or_target := TARGET
371 prereq_rule := test-art-target-sync
372 else
373 $$(error found $(2) expected host or target)
374 endif
375 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700376 ifeq ($(6),relocate)
377 uc_reloc_type := RELOCATE
Alex Light9d722532014-07-22 18:07:12 -0700378 run_test_options += --relocate --no-prebuild
Alex Lighta59dd802014-07-02 16:28:08 -0700379 ifneq ($(ART_TEST_RUN_TEST_RELOCATE),true)
380 skip_test := true
381 endif
382 else
Alex Light9d722532014-07-22 18:07:12 -0700383 ifeq ($(6),no-prebuild)
384 uc_reloc_type := NO_PREBUILD
385 run_test_options += --no-relocate --no-prebuild
386 ifneq ($(ART_TEST_RUN_TEST_NO_PREBUILD),true)
Alex Lighta59dd802014-07-02 16:28:08 -0700387 skip_test := true
388 endif
389 else
390 ifeq ($(6),norelocate)
391 uc_reloc_type := NORELOCATE
Alex Light9d722532014-07-22 18:07:12 -0700392 run_test_options += --no-relocate --prebuild
Alex Lighta59dd802014-07-02 16:28:08 -0700393 ifneq ($(ART_TEST_RUN_TEST_NO_RELOCATE),true)
394 skip_test := true
395 endif
396 else
Alex Light9d722532014-07-22 18:07:12 -0700397 uc_reloc_type := PREBUILD
398 run_test_options += --relocate --prebuild
Nicolas Geoffray3bb12b92014-07-28 22:56:07 +0100399 ifneq ($(ART_TEST_RUN_TEST_PREBUILD),true)
400 skip_test := true
Nicolas Geoffray0a0a20b2014-07-29 09:10:50 +0100401 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700402 endif
403 endif
404 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700405 uc_compiler :=
406 ifeq ($(3),optimizing)
407 uc_compiler := OPTIMIZING
408 run_test_options += -Xcompiler-option --compiler-backend=Optimizing
Ian Rogers5242c0a2014-07-18 11:02:19 -0700409 ifneq ($$(ART_TEST_OPTIMIZING),true)
410 skip_test := true
411 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700412 else
413 ifeq ($(3),interpreter)
414 uc_compiler := INTERPRETER
415 run_test_options += --interpreter
416 else
417 ifeq ($(3),default)
418 uc_compiler := DEFAULT
419 else
420 $$(error found $(3) expected optimizing, interpreter or default)
421 endif
422 endif
423 endif
424 ifeq ($(4),64)
425 run_test_options += --64
426 else
427 ifneq ($(4),32)
428 $$(error found $(4) expected 32 or 64)
429 endif
430 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700431 ifeq ($(5),trace)
432 run_test_options += --trace
Alex Lighta59dd802014-07-02 16:28:08 -0700433 run_test_rule_name := test-art-$(2)-run-test-trace-$(3)-$(6)-$(1)$(4)
Ian Rogers5242c0a2014-07-18 11:02:19 -0700434 ifneq ($$(ART_TEST_TRACE),true)
435 skip_test := true
436 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700437 else
Ian Rogers701aa642014-07-18 11:38:13 -0700438 ifeq ($(5),gcverify)
439 run_test_options += --runtime-option -Xgc:preverify --runtime-option -Xgc:postverify \
440 --runtime-option -Xgc:preverify_rosalloc --runtime-option -Xgc:postverify_rosalloc
Alex Lighta59dd802014-07-02 16:28:08 -0700441 run_test_rule_name := test-art-$(2)-run-test-gcverify-$(3)-$(6)-$(1)$(4)
Ian Rogers701aa642014-07-18 11:38:13 -0700442 ifneq ($$(ART_TEST_GC_VERIFY),true)
443 skip_test := true
444 endif
445 else
Ian Rogers8a14b752014-07-18 15:06:53 -0700446 ifeq ($(5),gcstress)
447 run_test_options += --runtime-option -Xgc:SS --runtime-option -Xms2m \
448 --runtime-option -Xmx2m --runtime-option -Xgc:preverify --runtime-option -Xgc:postverify
Alex Lighta59dd802014-07-02 16:28:08 -0700449 run_test_rule_name := test-art-$(2)-run-test-gcstress-$(3)-$(6)-$(1)$(4)
Ian Rogers8a14b752014-07-18 15:06:53 -0700450 ifneq ($$(ART_TEST_GC_STRESS),true)
451 skip_test := true
452 endif
453 else
454 ifneq (,$(5))
455 $$(error found $(5) expected undefined or gcverify, gcstress or trace)
456 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700457 run_test_rule_name := test-art-$(2)-run-test-$(3)-$(6)-$(1)$(4)
Ian Rogers701aa642014-07-18 11:38:13 -0700458 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700459 endif
460 endif
Ian Rogers5242c0a2014-07-18 11:02:19 -0700461 ifeq ($$(skip_test),false)
462 run_test_options := --output-path $(ART_HOST_TEST_DIR)/run-test-output/$$(run_test_rule_name) \
463 $$(run_test_options)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700464$$(run_test_rule_name): PRIVATE_RUN_TEST_OPTIONS := $$(run_test_options)
465.PHONY: $$(run_test_rule_name)
466$$(run_test_rule_name): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin $$(prereq_rule)
467 $(hide) $$(call ART_TEST_SKIP,$$@) && \
468 DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
469 art/test/run-test $$(PRIVATE_RUN_TEST_OPTIONS) $(1) \
470 && $$(call ART_TEST_PASSED,$$@) || $$(call ART_TEST_FAILED,$$@)
471 $$(hide) (echo $(MAKECMDGOALS) | grep -q $$@ && \
472 echo "run-test run as top-level target, removing test directory $(ART_HOST_TEST_DIR)" && \
473 rm -r $(ART_HOST_TEST_DIR)) || true
Ian Rogers5242c0a2014-07-18 11:02:19 -0700474 else
475 .PHONY: $$(run_test_rule_name)
476$$(run_test_rule_name):
477 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700478
Ian Rogersafd9acc2014-06-17 08:21:54 -0700479 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)$(4)_RULES += $$(run_test_rule_name)
480 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_RULES += $$(run_test_rule_name)
481 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_$(1)_RULES += $$(run_test_rule_name)
Alex Lighta59dd802014-07-02 16:28:08 -0700482 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 -0700483 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$(1)_RULES += $$(run_test_rule_name)
Alex Light7eeecb72014-07-23 10:31:34 -0700484 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$(1)$(4)_RULES += $$(run_test_rule_name)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700485 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL_RULES += $$(run_test_rule_name)
Alex Lighta59dd802014-07-02 16:28:08 -0700486 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_reloc_type)_RULES += $$(run_test_rule_name)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700487 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL$(4)_RULES += $$(run_test_rule_name)
488
489 # Clear locally defined variables.
Ian Rogers5242c0a2014-07-18 11:02:19 -0700490 skip_test :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700491 run_test_options :=
492 run_test_rule_name :=
493 uc_host_or_target :=
494 prereq_rule :=
Alex Lighta59dd802014-07-02 16:28:08 -0700495 uc_reloc_type :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700496 uc_compiler :=
497endef # define-test-art-run-test
498
499# Define a phony rule whose purpose is to test its prerequisites.
500# $(1): rule name, e.g. test-art-host-run-test32
501# $(2): list of prerequisites
502define define-test-art-run-test-group-rule
503.PHONY: $(1)
504$(1): $(2)
505 $(hide) $$(call ART_TEST_PREREQ_FINISHED,$$@)
506
507endef # define-test-art-run-test-group-rule
508
509# Create rules for a group of run tests.
510# $(1): test name, e.g. 003-omnibus-opcodes
511# $(2): host or target
Alex Light9d722532014-07-22 18:07:12 -0700512# $(3): relocate, norelocate or no-prebuild, or prebuild.
Alex Lighta59dd802014-07-02 16:28:08 -0700513define define-test-art-run-test-group-type
Ian Rogersafd9acc2014-06-17 08:21:54 -0700514 group_uc_host_or_target :=
515 ifeq ($(2),host)
516 group_uc_host_or_target := HOST
517 else
518 ifeq ($(2),target)
519 group_uc_host_or_target := TARGET
520 else
521 $$(error found $(2) expected host or target)
522 endif
523 endif
524
Alex Lighta59dd802014-07-02 16:28:08 -0700525 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
526 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
527 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
528 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
529 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
530 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
531 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
532 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
533 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
534 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
535 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
536 $$(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 -0700537 do_second := false
538 ifeq ($(2),host)
539 ifneq ($$(HOST_PREFER_32_BIT),true)
540 do_second := true
541 endif
542 else
543 ifdef TARGET_2ND_ARCH
544 do_second := true
545 endif
546 endif
547 ifeq (true,$$(do_second))
Alex Lighta59dd802014-07-02 16:28:08 -0700548 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
549 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
550 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
551 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
552 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
553 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
554 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
555 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
556 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
557 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
558 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
559 $$(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 -0700560 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700561endef # define-test-art-run-test-group-type
Ian Rogersafd9acc2014-06-17 08:21:54 -0700562
Alex Lighta59dd802014-07-02 16:28:08 -0700563# Create rules for a group of run tests.
564# $(1): test name, e.g. 003-omnibus-opcodes
565# $(2): host or target
566define define-test-art-run-test-group
567 group_uc_host_or_target :=
568 ifeq ($(2),host)
569 group_uc_host_or_target := HOST
570 else
571 ifeq ($(2),target)
572 group_uc_host_or_target := TARGET
573 else
574 $$(error found $(2) expected host or target)
575 endif
576 endif
Alex Light7eeecb72014-07-23 10:31:34 -0700577 do_second := false
578 ifeq ($(2),host)
579 ifneq ($$(HOST_PREFER_32_BIT),true)
580 do_second := true
581 endif
582 else
583 ifdef TARGET_2ND_ARCH
584 do_second := true
585 endif
586 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700587 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
588 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
589 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
590 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
Alex Light7eeecb72014-07-23 10:31:34 -0700591 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES :=
592 ifeq ($$(do_second),true)
593 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES :=
594 endif
Alex Light9d722532014-07-22 18:07:12 -0700595 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),prebuild))
Alex Lighta59dd802014-07-02 16:28:08 -0700596 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),norelocate))
597 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),relocate))
Alex Light9d722532014-07-22 18:07:12 -0700598 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),no-prebuild))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700599 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-default-$(1), \
600 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES)))
601 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-interpreter-$(1), \
602 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES)))
603 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-optimizing-$(1), \
604 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES)))
605 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1), \
606 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES)))
Alex Light7eeecb72014-07-23 10:31:34 -0700607 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX), \
608 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES)))
609 ifeq ($$(do_second),true)
610 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX), \
611 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES)))
612 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700613
614 # Clear locally defined variables.
615 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
616 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
617 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
618 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
Alex Light7eeecb72014-07-23 10:31:34 -0700619 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES :=
620 ifeq ($$(do_second),true)
621 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES :=
622 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700623 group_uc_host_or_target :=
624 do_second :=
625endef # define-test-art-run-test-group
626
627$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),target)))
628$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),host)))
629
Alex Light9d722532014-07-22 18:07:12 -0700630$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild, \
631 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700632$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild, \
633 $(ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES)))
634$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate, \
635 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES)))
636$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate, \
637 $(ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700638$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test, \
639 $(ART_TEST_TARGET_RUN_TEST_ALL_RULES)))
640$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default, \
641 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES)))
642$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter, \
643 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES)))
644$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing, \
645 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700646$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild, \
647 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700648$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild, \
649 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700650$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild, \
651 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700652$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild, \
653 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700654$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild, \
655 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700656$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild, \
657 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES)))
658$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate, \
659 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES)))
660$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate, \
661 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES)))
662$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate, \
663 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES)))
664$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate, \
665 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES)))
666$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate, \
667 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES)))
668$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate, \
669 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700670$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(ART_PHONY_TEST_TARGET_SUFFIX), \
671 $(ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
672$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(ART_PHONY_TEST_TARGET_SUFFIX), \
673 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
674$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(ART_PHONY_TEST_TARGET_SUFFIX), \
675 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
676$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(ART_PHONY_TEST_TARGET_SUFFIX), \
677 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700678$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
679 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700680$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
681 $(ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
682$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
683 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
684$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
685 $(ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700686$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
687 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700688$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
689 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700690$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
691 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700692$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
693 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700694$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
695 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700696$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
697 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
698$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
699 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
700$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
701 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
702$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
703 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
704$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
705 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
706$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
707 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
708$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
709 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700710ifdef TARGET_2ND_ARCH
711 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
712 $(ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
713 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
714 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
715 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
716 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
717 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
718 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700719 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
720 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700721 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
722 $(ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
723 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
724 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
725 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
726 $(ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700727 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
728 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700729 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
730 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700731 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
732 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700733 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
734 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700735 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
736 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700737 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
738 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
739 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
740 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
741 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
742 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
743 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
744 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
745 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
746 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
747 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
748 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
749 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
750 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700751endif
752
Alex Light9d722532014-07-22 18:07:12 -0700753$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild, \
754 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700755$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild, \
756 $(ART_TEST_HOST_RUN_TEST_PREBUILD_RULES)))
757$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate, \
758 $(ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES)))
759$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate, \
760 $(ART_TEST_HOST_RUN_TEST_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700761$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test, \
762 $(ART_TEST_HOST_RUN_TEST_ALL_RULES)))
763$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default, \
764 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RULES)))
765$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter, \
766 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES)))
767$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing, \
768 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700769$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild, \
770 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700771$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild, \
772 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700773$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild, \
774 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700775$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild, \
776 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700777$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild, \
778 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700779$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild, \
780 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES)))
781$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate, \
782 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES)))
783$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate, \
784 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES)))
785$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate, \
786 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES)))
787$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate, \
788 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES)))
789$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate, \
790 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES)))
791$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate, \
792 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700793$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(ART_PHONY_TEST_HOST_SUFFIX), \
794 $(ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
795$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(ART_PHONY_TEST_HOST_SUFFIX), \
796 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
797$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(ART_PHONY_TEST_HOST_SUFFIX), \
798 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
799$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(ART_PHONY_TEST_HOST_SUFFIX), \
800 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700801$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
802 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700803$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
804 $(ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
805$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
806 $(ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
807$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
808 $(ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700809$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
810 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700811$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
812 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700813$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
814 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700815$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
816 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700817$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
818 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700819$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
820 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
821$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
822 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
823$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
824 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
825$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
826 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
827$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
828 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
829$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
830 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
831$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
832 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700833ifneq ($(HOST_PREFER_32_BIT),true)
834 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
835 $(ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
836 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
837 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
838 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
839 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
840 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
841 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700842 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
843 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700844 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
845 $(ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
846 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
847 $(ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
848 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
849 $(ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700850 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
851 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700852 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
853 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700854 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
855 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700856 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
857 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700858 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
859 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700860 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
861 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
862 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
863 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
864 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
865 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
866 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
867 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
868 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
869 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
870 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
871 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
872 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
873 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700874endif
875
Andreas Gampe1c83cbc2014-07-22 18:52:29 -0700876# include libarttest build rules.
877include $(LOCAL_PATH)/Android.libarttest.mk
878
Andreas Gampe855564b2014-07-25 02:32:19 -0700879# Include libnativebridgetest build rules.
880include art/test/Android.libnativebridgetest.mk
881
Ian Rogersafd9acc2014-06-17 08:21:54 -0700882define-test-art-run-test :=
883define-test-art-run-test-group-rule :=
884define-test-art-run-test-group :=
Ian Rogers064a59d2014-07-18 15:55:59 -0700885TEST_ART_RUN_TESTS :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700886ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
887ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
888ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
889ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700890ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES :=
891ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES :=
892ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
893ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
894ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES :=
895ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
896ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
897ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700898ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700899ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700900ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700901ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700902ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700903ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700904ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700905ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700906ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
907ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
908ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
909ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700910ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
911ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
912ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
913ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
914ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
915ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
916ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
917ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700918ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700919ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700920ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700921ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700922ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700923ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700924ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
925ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
926ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
927ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700928ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
929ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
930ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
931ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
932ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
933ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
934ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
935ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700936ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700937ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700938ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700939ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700940ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700941ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700942ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700943ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700944ART_TEST_HOST_RUN_TEST_ALL_RULES :=
945ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
946ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
947ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700948ART_TEST_HOST_RUN_TEST_RELOCATE_RULES :=
949ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES :=
950ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
951ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
952ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES :=
953ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
954ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
955ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700956ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700957ART_TEST_HOST_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700958ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700959ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700960ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700961ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700962ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700963ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700964ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700965ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
966ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
967ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700968ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
969ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
970ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
971ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
972ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
973ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
974ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
975ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700976ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700977ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700978ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700979ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700980ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700981ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700982ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700983ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
984ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
985ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700986ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
987ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
988ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
989ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
990ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
991ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
992ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
993ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700994ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700995ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700996ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700997ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700998ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700999ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -07001000ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -07001001ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=