blob: d7ee383db79aed6a31d6ecd27887062bb2b34475 [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 := \
Andreas Gampe1c83cbc2014-07-22 18:52:29 -070084 004-SignalTest \
Ian Rogers716e4f82014-07-16 11:18:03 -070085 018-stack-overflow \
Ian Rogers716e4f82014-07-16 11:18:03 -070086 097-duplicate-method \
Jeff Haof0a3f092014-07-24 16:26:09 -070087 107-int-math2
Ian Rogers716e4f82014-07-16 11:18:03 -070088
Alex Lighta59dd802014-07-02 16:28:08 -070089ART_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 -070090ART_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 -070091ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-prebuild))
92ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,-norelocate))
93ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace,))
Ian Rogers716e4f82014-07-16 11:18:03 -070094
Ian Rogers8a14b752014-07-18 15:06:53 -070095# Tests that need more than 2MB of RAM or are running into other corner cases in GC stress related
96# to OOMEs.
Mathieu Chartierc5a83472014-07-23 18:45:17 -070097TEST_ART_BROKEN_GCSTRESS_RUN_TESTS :=
Ian Rogers8a14b752014-07-18 15:06:53 -070098
Alex Lighta59dd802014-07-02 16:28:08 -070099ART_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 -0700100ART_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 -0700101ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-prebuild))
102ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,-norelocate))
103ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_GCSTRESS_RUN_TESTS), $(call all-run-test-names,$(test),-gcstress,))
Ian Rogers8a14b752014-07-18 15:06:53 -0700104
Andreas Gampe855564b2014-07-25 02:32:19 -0700105# 115-native-bridge setup is complicated. Need to implement it correctly for the target.
106ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,)
107ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,)
108ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,)
109ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,)
110ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-relocate)
111ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-relocate)
112ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-relocate)
113ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-relocate)
114ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-norelocate)
115ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-norelocate)
116ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-norelocate)
117ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-norelocate)
118ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-prebuild)
119ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-prebuild)
120ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-prebuild)
121ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-prebuild)
122ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,,-no-prebuild)
123ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-trace,-no-prebuild)
124ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcverify,-no-prebuild)
125ART_TEST_KNOWN_BROKEN += $(call all-run-test-target-names,115-native-bridge,-gcstress,-no-prebuild)
Ian Rogers8a14b752014-07-18 15:06:53 -0700126
Ian Rogersafd9acc2014-06-17 08:21:54 -0700127# The path where build only targets will be output, e.g.
128# out/target/product/generic_x86_64/obj/PACKAGING/art-run-tests_intermediates/DATA
129art_run_tests_dir := $(call intermediates-dir-for,PACKAGING,art-run-tests)/DATA
130
131# A generated list of prerequisites that call 'run-test --build-only', the actual prerequisite is
132# an empty file touched in the intermediate directory.
133TEST_ART_RUN_TEST_BUILD_RULES :=
134
135# Helper to create individual build targets for tests. Must be called with $(eval).
136# $(1): the test number
137define define-build-art-run-test
138 dmart_target := $(art_run_tests_dir)/art-run-tests/$(1)/touch
139$$(dmart_target): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin
140 $(hide) rm -rf $$(dir $$@) && mkdir -p $$(dir $$@)
141 $(hide) DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
142 $(LOCAL_PATH)/run-test --build-only --output-path $$(abspath $$(dir $$@)) $(1)
143 $(hide) touch $$@
144
145 TEST_ART_RUN_TEST_BUILD_RULES += $$(dmart_target)
146 dmart_target :=
147endef
Ian Rogersbf66bce2014-06-24 23:15:34 -0700148$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-build-art-run-test,$(test))))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700149
150include $(CLEAR_VARS)
151LOCAL_MODULE_TAGS := tests
152LOCAL_MODULE := art-run-tests
153LOCAL_ADDITIONAL_DEPENDENCIES := $(TEST_ART_RUN_TEST_BUILD_RULES)
154# The build system use this flag to pick up files generated by declare-make-art-run-test.
155LOCAL_PICKUP_FILES := $(art_run_tests_dir)
156
157include $(BUILD_PHONY_PACKAGE)
158
159# Clear temp vars.
Ian Rogers8a14b752014-07-18 15:06:53 -0700160all-run-test-names :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700161art_run_tests_dir :=
162define-build-art-run-test :=
Ian Rogers8a14b752014-07-18 15:06:53 -0700163TEST_ART_RUN_TEST_BUILD_RULES :=
Ian Rogers8a14b752014-07-18 15:06:53 -0700164TEST_ART_TIMING_SENSITIVE_RUN_TESTS :=
165TEST_ART_BROKEN_TRACE_RUN_TESTS :=
166TEST_ART_BROKEN_GCSTRESS_RUN_TESTS :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700167
168########################################################################
169
170ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
171ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
172ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
173ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700174ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES :=
175ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES :=
176ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
177ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
178ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES :=
179ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
180ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
181ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700182ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700183ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700184ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700185ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700186ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700187ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700188ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700189ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700190ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
191ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
192ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
193ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700194ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
195ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
196ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
197ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
198ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
199ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
200ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
201ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700202ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700203ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700204ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700205ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700206ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700207ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700208ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
209ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
210ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
211ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700212ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
213ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
214ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
215ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
216ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
217ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
218ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
219ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700220ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700221ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700222ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700223ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700224ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700225ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700226ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700227ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700228ART_TEST_HOST_RUN_TEST_ALL_RULES :=
229ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
230ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
231ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700232ART_TEST_HOST_RUN_TEST_RELOCATE_RULES :=
233ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES :=
234ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
235ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
236ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES :=
237ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
238ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
239ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700240ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700241ART_TEST_HOST_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700242ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700243ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700244ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700245ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700246ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700247ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700248ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700249ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
250ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
251ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700252ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
253ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
254ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
255ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
256ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
257ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
258ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
259ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700260ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700261ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700262ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700263ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700264ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700265ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700266ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700267ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
268ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
269ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700270ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
271ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
272ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
273ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
274ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
275ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
276ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
277ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700278ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700279ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700280ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700281ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700282ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700283ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700284ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700285ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700286
287# We need dex2oat and dalvikvm on the target as well as the core image.
288TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_EXECUTABLES) $(TARGET_CORE_IMG_OUT) $(2ND_TARGET_CORE_IMG_OUT)
289
Andreas Gampe1c83cbc2014-07-22 18:52:29 -0700290# Also need libarttest.
291TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libarttest.so
292ifdef TARGET_2ND_ARCH
293TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libarttest.so
294endif
295
Andreas Gampe855564b2014-07-25 02:32:19 -0700296# Also need libnativebridgetest.
297TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_ARCH)/libnativebridgetest.so
298ifdef TARGET_2ND_ARCH
299TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_TEST_OUT)/$(TARGET_2ND_ARCH)/libnativebridgetest.so
300endif
301
Ian Rogersafd9acc2014-06-17 08:21:54 -0700302# All tests require the host executables and the core images.
303ART_TEST_HOST_RUN_TEST_DEPENDENCIES := \
304 $(ART_HOST_EXECUTABLES) \
Andreas Gampe1c83cbc2014-07-22 18:52:29 -0700305 $(ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \
Andreas Gampe855564b2014-07-25 02:32:19 -0700306 $(ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100307 $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Brian Carlstrom519e3d02014-06-25 00:57:36 -0700308 $(HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700309
310ifneq ($(HOST_PREFER_32_BIT),true)
311ART_TEST_HOST_RUN_TEST_DEPENDENCIES += \
Andreas Gampe1c83cbc2014-07-22 18:52:29 -0700312 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libarttest$(ART_HOST_SHLIB_EXTENSION) \
Andreas Gampe855564b2014-07-25 02:32:19 -0700313 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libnativebridgetest$(ART_HOST_SHLIB_EXTENSION) \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100314 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Ian Rogersafd9acc2014-06-17 08:21:54 -0700315 $(2ND_HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700316endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700317
318# For a given test create all the combinations of host/target, compiler and suffix such as:
319# test-art-host-run-test-optimizing-003-omnibus-opcodes32
320# $(1): test name, e.g. 003-omnibus-opcodes
321# $(2): host or target
322# $(3): default, optimizing or interpreter
323# $(4): 32 or 64
Ian Rogers701aa642014-07-18 11:38:13 -0700324# $(5): run tests with tracing or GC verification enabled or not: trace, gcverify or undefined
Alex Light9d722532014-07-22 18:07:12 -0700325# $(6): relocate, norelocate, no-prebuild or undefined.
Ian Rogersafd9acc2014-06-17 08:21:54 -0700326define define-test-art-run-test
327 run_test_options := $(addprefix --runtime-option ,$(DALVIKVM_FLAGS))
Alex Lighta59dd802014-07-02 16:28:08 -0700328 run_test_rule_name :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700329 uc_host_or_target :=
330 prereq_rule :=
Ian Rogers064a59d2014-07-18 15:55:59 -0700331 skip_test := false
Alex Lighta59dd802014-07-02 16:28:08 -0700332 uc_reloc_type :=
Alex Lightbfac14a2014-07-30 09:41:21 -0700333 ifeq ($(ART_TEST_RUN_TEST_ALWAYS_CLEAN),true)
334 run_test_options += --always-clean
335 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700336 ifeq ($(2),host)
337 uc_host_or_target := HOST
338 run_test_options += --host
339 prereq_rule := $(ART_TEST_HOST_RUN_TEST_DEPENDENCIES)
340 else
341 ifeq ($(2),target)
342 uc_host_or_target := TARGET
343 prereq_rule := test-art-target-sync
344 else
345 $$(error found $(2) expected host or target)
346 endif
347 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700348 ifeq ($(6),relocate)
349 uc_reloc_type := RELOCATE
Alex Light9d722532014-07-22 18:07:12 -0700350 run_test_options += --relocate --no-prebuild
Alex Lighta59dd802014-07-02 16:28:08 -0700351 ifneq ($(ART_TEST_RUN_TEST_RELOCATE),true)
352 skip_test := true
353 endif
354 else
Alex Light9d722532014-07-22 18:07:12 -0700355 ifeq ($(6),no-prebuild)
356 uc_reloc_type := NO_PREBUILD
357 run_test_options += --no-relocate --no-prebuild
358 ifneq ($(ART_TEST_RUN_TEST_NO_PREBUILD),true)
Alex Lighta59dd802014-07-02 16:28:08 -0700359 skip_test := true
360 endif
361 else
362 ifeq ($(6),norelocate)
363 uc_reloc_type := NORELOCATE
Alex Light9d722532014-07-22 18:07:12 -0700364 run_test_options += --no-relocate --prebuild
Alex Lighta59dd802014-07-02 16:28:08 -0700365 ifneq ($(ART_TEST_RUN_TEST_NO_RELOCATE),true)
366 skip_test := true
367 endif
368 else
Alex Light9d722532014-07-22 18:07:12 -0700369 uc_reloc_type := PREBUILD
370 run_test_options += --relocate --prebuild
Nicolas Geoffray3bb12b92014-07-28 22:56:07 +0100371 ifneq ($(ART_TEST_RUN_TEST_PREBUILD),true)
372 skip_test := true
Nicolas Geoffray0a0a20b2014-07-29 09:10:50 +0100373 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700374 endif
375 endif
376 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700377 uc_compiler :=
378 ifeq ($(3),optimizing)
379 uc_compiler := OPTIMIZING
380 run_test_options += -Xcompiler-option --compiler-backend=Optimizing
Ian Rogers5242c0a2014-07-18 11:02:19 -0700381 ifneq ($$(ART_TEST_OPTIMIZING),true)
382 skip_test := true
383 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700384 else
385 ifeq ($(3),interpreter)
386 uc_compiler := INTERPRETER
387 run_test_options += --interpreter
388 else
389 ifeq ($(3),default)
390 uc_compiler := DEFAULT
391 else
392 $$(error found $(3) expected optimizing, interpreter or default)
393 endif
394 endif
395 endif
396 ifeq ($(4),64)
397 run_test_options += --64
398 else
399 ifneq ($(4),32)
400 $$(error found $(4) expected 32 or 64)
401 endif
402 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700403 ifeq ($(5),trace)
404 run_test_options += --trace
Alex Lighta59dd802014-07-02 16:28:08 -0700405 run_test_rule_name := test-art-$(2)-run-test-trace-$(3)-$(6)-$(1)$(4)
Ian Rogers5242c0a2014-07-18 11:02:19 -0700406 ifneq ($$(ART_TEST_TRACE),true)
407 skip_test := true
408 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700409 else
Ian Rogers701aa642014-07-18 11:38:13 -0700410 ifeq ($(5),gcverify)
411 run_test_options += --runtime-option -Xgc:preverify --runtime-option -Xgc:postverify \
412 --runtime-option -Xgc:preverify_rosalloc --runtime-option -Xgc:postverify_rosalloc
Alex Lighta59dd802014-07-02 16:28:08 -0700413 run_test_rule_name := test-art-$(2)-run-test-gcverify-$(3)-$(6)-$(1)$(4)
Ian Rogers701aa642014-07-18 11:38:13 -0700414 ifneq ($$(ART_TEST_GC_VERIFY),true)
415 skip_test := true
416 endif
417 else
Ian Rogers8a14b752014-07-18 15:06:53 -0700418 ifeq ($(5),gcstress)
419 run_test_options += --runtime-option -Xgc:SS --runtime-option -Xms2m \
420 --runtime-option -Xmx2m --runtime-option -Xgc:preverify --runtime-option -Xgc:postverify
Alex Lighta59dd802014-07-02 16:28:08 -0700421 run_test_rule_name := test-art-$(2)-run-test-gcstress-$(3)-$(6)-$(1)$(4)
Ian Rogers8a14b752014-07-18 15:06:53 -0700422 ifneq ($$(ART_TEST_GC_STRESS),true)
423 skip_test := true
424 endif
425 else
426 ifneq (,$(5))
427 $$(error found $(5) expected undefined or gcverify, gcstress or trace)
428 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700429 run_test_rule_name := test-art-$(2)-run-test-$(3)-$(6)-$(1)$(4)
Ian Rogers701aa642014-07-18 11:38:13 -0700430 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700431 endif
432 endif
Ian Rogers5242c0a2014-07-18 11:02:19 -0700433 ifeq ($$(skip_test),false)
434 run_test_options := --output-path $(ART_HOST_TEST_DIR)/run-test-output/$$(run_test_rule_name) \
435 $$(run_test_options)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700436$$(run_test_rule_name): PRIVATE_RUN_TEST_OPTIONS := $$(run_test_options)
437.PHONY: $$(run_test_rule_name)
438$$(run_test_rule_name): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin $$(prereq_rule)
439 $(hide) $$(call ART_TEST_SKIP,$$@) && \
440 DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
441 art/test/run-test $$(PRIVATE_RUN_TEST_OPTIONS) $(1) \
442 && $$(call ART_TEST_PASSED,$$@) || $$(call ART_TEST_FAILED,$$@)
443 $$(hide) (echo $(MAKECMDGOALS) | grep -q $$@ && \
444 echo "run-test run as top-level target, removing test directory $(ART_HOST_TEST_DIR)" && \
445 rm -r $(ART_HOST_TEST_DIR)) || true
Ian Rogers5242c0a2014-07-18 11:02:19 -0700446 else
447 .PHONY: $$(run_test_rule_name)
448$$(run_test_rule_name):
449 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700450
Ian Rogersafd9acc2014-06-17 08:21:54 -0700451 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)$(4)_RULES += $$(run_test_rule_name)
452 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_RULES += $$(run_test_rule_name)
453 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_$(1)_RULES += $$(run_test_rule_name)
Alex Lighta59dd802014-07-02 16:28:08 -0700454 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 -0700455 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$(1)_RULES += $$(run_test_rule_name)
Alex Light7eeecb72014-07-23 10:31:34 -0700456 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$(1)$(4)_RULES += $$(run_test_rule_name)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700457 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL_RULES += $$(run_test_rule_name)
Alex Lighta59dd802014-07-02 16:28:08 -0700458 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_reloc_type)_RULES += $$(run_test_rule_name)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700459 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL$(4)_RULES += $$(run_test_rule_name)
460
461 # Clear locally defined variables.
Ian Rogers5242c0a2014-07-18 11:02:19 -0700462 skip_test :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700463 run_test_options :=
464 run_test_rule_name :=
465 uc_host_or_target :=
466 prereq_rule :=
Alex Lighta59dd802014-07-02 16:28:08 -0700467 uc_reloc_type :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700468 uc_compiler :=
469endef # define-test-art-run-test
470
471# Define a phony rule whose purpose is to test its prerequisites.
472# $(1): rule name, e.g. test-art-host-run-test32
473# $(2): list of prerequisites
474define define-test-art-run-test-group-rule
475.PHONY: $(1)
476$(1): $(2)
477 $(hide) $$(call ART_TEST_PREREQ_FINISHED,$$@)
478
479endef # define-test-art-run-test-group-rule
480
481# Create rules for a group of run tests.
482# $(1): test name, e.g. 003-omnibus-opcodes
483# $(2): host or target
Alex Light9d722532014-07-22 18:07:12 -0700484# $(3): relocate, norelocate or no-prebuild, or prebuild.
Alex Lighta59dd802014-07-02 16:28:08 -0700485define define-test-art-run-test-group-type
Ian Rogersafd9acc2014-06-17 08:21:54 -0700486 group_uc_host_or_target :=
487 ifeq ($(2),host)
488 group_uc_host_or_target := HOST
489 else
490 ifeq ($(2),target)
491 group_uc_host_or_target := TARGET
492 else
493 $$(error found $(2) expected host or target)
494 endif
495 endif
496
Alex Lighta59dd802014-07-02 16:28:08 -0700497 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
498 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
499 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
500 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
501 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
502 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
503 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
504 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
505 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
506 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
507 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
508 $$(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 -0700509 do_second := false
510 ifeq ($(2),host)
511 ifneq ($$(HOST_PREFER_32_BIT),true)
512 do_second := true
513 endif
514 else
515 ifdef TARGET_2ND_ARCH
516 do_second := true
517 endif
518 endif
519 ifeq (true,$$(do_second))
Alex Lighta59dd802014-07-02 16:28:08 -0700520 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
521 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
522 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),,$(3)))
523 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
524 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
525 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace,$(3)))
526 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
527 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
528 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcverify,$(3)))
529 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
530 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),gcstress,$(3)))
531 $$(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 -0700532 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700533endef # define-test-art-run-test-group-type
Ian Rogersafd9acc2014-06-17 08:21:54 -0700534
Alex Lighta59dd802014-07-02 16:28:08 -0700535# Create rules for a group of run tests.
536# $(1): test name, e.g. 003-omnibus-opcodes
537# $(2): host or target
538define define-test-art-run-test-group
539 group_uc_host_or_target :=
540 ifeq ($(2),host)
541 group_uc_host_or_target := HOST
542 else
543 ifeq ($(2),target)
544 group_uc_host_or_target := TARGET
545 else
546 $$(error found $(2) expected host or target)
547 endif
548 endif
Alex Light7eeecb72014-07-23 10:31:34 -0700549 do_second := false
550 ifeq ($(2),host)
551 ifneq ($$(HOST_PREFER_32_BIT),true)
552 do_second := true
553 endif
554 else
555 ifdef TARGET_2ND_ARCH
556 do_second := true
557 endif
558 endif
Alex Lighta59dd802014-07-02 16:28:08 -0700559 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
560 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
561 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
562 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
Alex Light7eeecb72014-07-23 10:31:34 -0700563 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES :=
564 ifeq ($$(do_second),true)
565 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES :=
566 endif
Alex Light9d722532014-07-22 18:07:12 -0700567 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),prebuild))
Alex Lighta59dd802014-07-02 16:28:08 -0700568 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),norelocate))
569 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),relocate))
Alex Light9d722532014-07-22 18:07:12 -0700570 $$(eval $$(call define-test-art-run-test-group-type,$(1),$(2),no-prebuild))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700571 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-default-$(1), \
572 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES)))
573 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-interpreter-$(1), \
574 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES)))
575 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-optimizing-$(1), \
576 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES)))
577 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1), \
578 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES)))
Alex Light7eeecb72014-07-23 10:31:34 -0700579 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX), \
580 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES)))
581 ifeq ($$(do_second),true)
582 $$(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), \
583 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX)_RULES)))
584 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700585
586 # Clear locally defined variables.
587 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
Ian Rogersafd9acc2014-06-17 08:21:54 -0700595 group_uc_host_or_target :=
596 do_second :=
597endef # define-test-art-run-test-group
598
599$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),target)))
600$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),host)))
601
Alex Light9d722532014-07-22 18:07:12 -0700602$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild, \
603 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700604$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild, \
605 $(ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES)))
606$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate, \
607 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES)))
608$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate, \
609 $(ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700610$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test, \
611 $(ART_TEST_TARGET_RUN_TEST_ALL_RULES)))
612$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default, \
613 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES)))
614$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter, \
615 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES)))
616$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing, \
617 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700618$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild, \
619 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700620$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild, \
621 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700622$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild, \
623 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700624$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild, \
625 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700626$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild, \
627 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700628$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild, \
629 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES)))
630$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate, \
631 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES)))
632$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate, \
633 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES)))
634$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate, \
635 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES)))
636$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate, \
637 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES)))
638$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate, \
639 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES)))
640$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate, \
641 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700642$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(ART_PHONY_TEST_TARGET_SUFFIX), \
643 $(ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
644$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(ART_PHONY_TEST_TARGET_SUFFIX), \
645 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
646$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(ART_PHONY_TEST_TARGET_SUFFIX), \
647 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
648$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(ART_PHONY_TEST_TARGET_SUFFIX), \
649 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700650$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
651 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700652$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
653 $(ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
654$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
655 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
656$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
657 $(ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700658$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
659 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700660$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
661 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700662$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
663 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700664$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
665 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700666$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
667 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700668$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild$(ART_PHONY_TEST_TARGET_SUFFIX), \
669 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
670$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
671 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
672$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
673 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
674$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
675 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
676$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
677 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
678$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
679 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
680$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate$(ART_PHONY_TEST_TARGET_SUFFIX), \
681 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700682ifdef TARGET_2ND_ARCH
683 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
684 $(ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
685 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
686 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
687 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
688 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
689 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
690 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700691 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
692 $(ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700693 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
694 $(ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
695 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
696 $(ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
697 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
698 $(ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700699 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
700 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700701 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
702 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700703 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
704 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700705 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
706 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700707 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-no-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
708 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700709 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-prebuild$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
710 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
711 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
712 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
713 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
714 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
715 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-norelocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
716 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
717 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
718 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
719 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
720 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
721 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing-relocate$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
722 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700723endif
724
Alex Light9d722532014-07-22 18:07:12 -0700725$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild, \
726 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700727$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild, \
728 $(ART_TEST_HOST_RUN_TEST_PREBUILD_RULES)))
729$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate, \
730 $(ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES)))
731$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate, \
732 $(ART_TEST_HOST_RUN_TEST_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700733$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test, \
734 $(ART_TEST_HOST_RUN_TEST_ALL_RULES)))
735$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default, \
736 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RULES)))
737$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter, \
738 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES)))
739$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing, \
740 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700741$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild, \
742 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700743$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild, \
744 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700745$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild, \
746 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700747$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild, \
748 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700749$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild, \
750 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700751$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild, \
752 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES)))
753$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate, \
754 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES)))
755$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate, \
756 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES)))
757$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate, \
758 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES)))
759$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate, \
760 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES)))
761$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate, \
762 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES)))
763$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate, \
764 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700765$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(ART_PHONY_TEST_HOST_SUFFIX), \
766 $(ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
767$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(ART_PHONY_TEST_HOST_SUFFIX), \
768 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
769$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(ART_PHONY_TEST_HOST_SUFFIX), \
770 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
771$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(ART_PHONY_TEST_HOST_SUFFIX), \
772 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700773$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
774 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700775$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
776 $(ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
777$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
778 $(ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
779$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
780 $(ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700781$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
782 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700783$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
784 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700785$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
786 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700787$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
788 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700789$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
790 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700791$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild$(ART_PHONY_TEST_HOST_SUFFIX), \
792 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
793$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
794 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
795$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
796 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
797$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate$(ART_PHONY_TEST_HOST_SUFFIX), \
798 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
799$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
800 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
801$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
802 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
803$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate$(ART_PHONY_TEST_HOST_SUFFIX), \
804 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700805ifneq ($(HOST_PREFER_32_BIT),true)
806 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
807 $(ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
808 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
809 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
810 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
811 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
812 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
813 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700814 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
815 $(ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700816 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
817 $(ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
818 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
819 $(ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
820 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
821 $(ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700822 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
823 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700824 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
825 $(ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700826 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
827 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700828 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
829 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Light9d722532014-07-22 18:07:12 -0700830 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-no-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
831 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Alex Lighta59dd802014-07-02 16:28:08 -0700832 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-prebuild$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
833 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
834 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
835 $(ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
836 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
837 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
838 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-norelocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
839 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
840 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
841 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
842 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
843 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
844 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing-relocate$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
845 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700846endif
847
Andreas Gampe1c83cbc2014-07-22 18:52:29 -0700848# include libarttest build rules.
849include $(LOCAL_PATH)/Android.libarttest.mk
850
Andreas Gampe855564b2014-07-25 02:32:19 -0700851# Include libnativebridgetest build rules.
852include art/test/Android.libnativebridgetest.mk
853
Ian Rogersafd9acc2014-06-17 08:21:54 -0700854define-test-art-run-test :=
855define-test-art-run-test-group-rule :=
856define-test-art-run-test-group :=
Ian Rogers064a59d2014-07-18 15:55:59 -0700857TEST_ART_RUN_TESTS :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700858ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
859ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
860ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
861ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700862ART_TEST_TARGET_RUN_TEST_RELOCATE_RULES :=
863ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE_RULES :=
864ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
865ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
866ART_TEST_TARGET_RUN_TEST_NORELOCATE_RULES :=
867ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
868ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
869ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700870ART_TEST_TARGET_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700871ART_TEST_TARGET_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700872ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700873ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700874ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700875ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700876ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700877ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700878ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
879ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
880ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
881ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700882ART_TEST_TARGET_RUN_TEST_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
883ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
884ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
885ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
886ART_TEST_TARGET_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
887ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
888ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
889ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700890ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700891ART_TEST_TARGET_RUN_TEST_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700892ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700893ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700894ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700895ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700896ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
897ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
898ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
899ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700900ART_TEST_TARGET_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
901ART_TEST_TARGET_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
902ART_TEST_TARGET_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
903ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
904ART_TEST_TARGET_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
905ART_TEST_TARGET_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
906ART_TEST_TARGET_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
907ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700908ART_TEST_TARGET_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700909ART_TEST_TARGET_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700910ART_TEST_TARGET_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700911ART_TEST_TARGET_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700912ART_TEST_TARGET_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700913ART_TEST_TARGET_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700914ART_TEST_TARGET_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700915ART_TEST_TARGET_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700916ART_TEST_HOST_RUN_TEST_ALL_RULES :=
917ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
918ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
919ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700920ART_TEST_HOST_RUN_TEST_RELOCATE_RULES :=
921ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE_RULES :=
922ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE_RULES :=
923ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE_RULES :=
924ART_TEST_HOST_RUN_TEST_NORELOCATE_RULES :=
925ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE_RULES :=
926ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE_RULES :=
927ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700928ART_TEST_HOST_RUN_TEST_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700929ART_TEST_HOST_RUN_TEST_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700930ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700931ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700932ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700933ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700934ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700935ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700936ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700937ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
938ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
939ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700940ART_TEST_HOST_RUN_TEST_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
941ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
942ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
943ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
944ART_TEST_HOST_RUN_TEST_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
945ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
946ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
947ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700948ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700949ART_TEST_HOST_RUN_TEST_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700950ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700951ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700952ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700953ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700954ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700955ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
956ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
957ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700958ART_TEST_HOST_RUN_TEST_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
959ART_TEST_HOST_RUN_TEST_DEFAULT_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
960ART_TEST_HOST_RUN_TEST_INTERPRETER_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
961ART_TEST_HOST_RUN_TEST_OPTIMIZING_RELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
962ART_TEST_HOST_RUN_TEST_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
963ART_TEST_HOST_RUN_TEST_DEFAULT_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
964ART_TEST_HOST_RUN_TEST_INTERPRETER_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
965ART_TEST_HOST_RUN_TEST_OPTIMIZING_NORELOCATE$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700966ART_TEST_HOST_RUN_TEST_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700967ART_TEST_HOST_RUN_TEST_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700968ART_TEST_HOST_RUN_TEST_DEFAULT_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700969ART_TEST_HOST_RUN_TEST_DEFAULT_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700970ART_TEST_HOST_RUN_TEST_INTERPRETER_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700971ART_TEST_HOST_RUN_TEST_INTERPRETER_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Light9d722532014-07-22 18:07:12 -0700972ART_TEST_HOST_RUN_TEST_OPTIMIZING_NO_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Alex Lighta59dd802014-07-02 16:28:08 -0700973ART_TEST_HOST_RUN_TEST_OPTIMIZING_PREBUILD$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=