blob: 1683074ebac0c5daf7887e7aa4764f49b3af598b [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 Rogers716e4f82014-07-16 11:18:03 -070024# List all the test names for host and target excluding the -trace suffix
25# $(1): test name, e.g. 003-omnibus-opcodes
26# $(2): undefined or -trace
27define all-run-test-names
28 test-art-host-run-test$(2)-default-$(1)32 \
29 test-art-host-run-test$(2)-optimizing-$(1)32 \
30 test-art-host-run-test$(2)-interpreter-$(1)32 \
31 test-art-host-run-test$(2)-default-$(1)64 \
32 test-art-host-run-test$(2)-optimizing-$(1)64 \
33 test-art-host-run-test$(2)-interpreter-$(1)64 \
34 test-art-target-run-test$(2)-default-$(1)32 \
35 test-art-target-run-test$(2)-optimizing-$(1)32 \
36 test-art-target-run-test$(2)-interpreter-$(1)32 \
37 test-art-target-run-test$(2)-default-$(1)64 \
38 test-art-target-run-test$(2)-optimizing-$(1)64 \
39 test-art-target-run-test$(2)-interpreter-$(1)64
40endef # all-run-test-names
41
Ian Rogersafd9acc2014-06-17 08:21:54 -070042# Tests that are timing sensitive and flaky on heavily loaded systems.
43TEST_ART_TIMING_SENSITIVE_RUN_TESTS := \
Ian Rogers716e4f82014-07-16 11:18:03 -070044 053-wait-some \
45 055-enum-performance
Ian Rogersafd9acc2014-06-17 08:21:54 -070046
47 # disable timing sensitive tests on "dist" builds.
48ifdef dist_goal
Ian Rogers716e4f82014-07-16 11:18:03 -070049 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),))
50 ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_TIMING_SENSITIVE_RUN_TESTS), $(call all-run-test-names,$(test),-trace))
Ian Rogersafd9acc2014-06-17 08:21:54 -070051endif
52
Ian Rogers716e4f82014-07-16 11:18:03 -070053# Tests that are broken in --trace mode.
54TEST_ART_BROKEN_TRACE_RUN_TESTS := \
55 003-omnibus-opcodes \
56 004-annotations \
57 018-stack-overflow \
58 023-many-interfaces \
59 031-class-attributes \
60 037-inherit \
61 044-proxy \
62 046-reflect \
63 051-thread \
64 055-enum-performance \
65 064-field-access \
66 078-polymorphic-virtual \
67 080-oom-throw \
68 082-inline-execute \
69 083-compiler-regressions \
70 097-duplicate-method \
71 100-reflect2 \
72 102-concurrent-gc \
73 103-string-append \
74 107-int-math2 \
75 112-double-math \
76 701-easy-div-rem
77
78ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace))
79
Ian Rogersafd9acc2014-06-17 08:21:54 -070080# The path where build only targets will be output, e.g.
81# out/target/product/generic_x86_64/obj/PACKAGING/art-run-tests_intermediates/DATA
82art_run_tests_dir := $(call intermediates-dir-for,PACKAGING,art-run-tests)/DATA
83
84# A generated list of prerequisites that call 'run-test --build-only', the actual prerequisite is
85# an empty file touched in the intermediate directory.
86TEST_ART_RUN_TEST_BUILD_RULES :=
87
88# Helper to create individual build targets for tests. Must be called with $(eval).
89# $(1): the test number
90define define-build-art-run-test
91 dmart_target := $(art_run_tests_dir)/art-run-tests/$(1)/touch
92$$(dmart_target): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin
93 $(hide) rm -rf $$(dir $$@) && mkdir -p $$(dir $$@)
94 $(hide) DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
95 $(LOCAL_PATH)/run-test --build-only --output-path $$(abspath $$(dir $$@)) $(1)
96 $(hide) touch $$@
97
98 TEST_ART_RUN_TEST_BUILD_RULES += $$(dmart_target)
99 dmart_target :=
100endef
Ian Rogersbf66bce2014-06-24 23:15:34 -0700101$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-build-art-run-test,$(test))))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700102
103include $(CLEAR_VARS)
104LOCAL_MODULE_TAGS := tests
105LOCAL_MODULE := art-run-tests
106LOCAL_ADDITIONAL_DEPENDENCIES := $(TEST_ART_RUN_TEST_BUILD_RULES)
107# The build system use this flag to pick up files generated by declare-make-art-run-test.
108LOCAL_PICKUP_FILES := $(art_run_tests_dir)
109
110include $(BUILD_PHONY_PACKAGE)
111
112# Clear temp vars.
113TEST_ART_RUN_TEST_BUILD_RULES :=
114art_run_tests_dir :=
115define-build-art-run-test :=
116
117########################################################################
118
119ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
120ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
121ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
122ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
123ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
124ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
125ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
126ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
127ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
128ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
129ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
130ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
131ART_TEST_HOST_RUN_TEST_ALL_RULES :=
132ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
133ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
134ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700135ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700136ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
137ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
138ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700139ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700140ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
141ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
142ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
143
144# We need dex2oat and dalvikvm on the target as well as the core image.
145TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_EXECUTABLES) $(TARGET_CORE_IMG_OUT) $(2ND_TARGET_CORE_IMG_OUT)
146
147# All tests require the host executables and the core images.
148ART_TEST_HOST_RUN_TEST_DEPENDENCIES := \
149 $(ART_HOST_EXECUTABLES) \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100150 $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Brian Carlstrom519e3d02014-06-25 00:57:36 -0700151 $(HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700152
153ifneq ($(HOST_PREFER_32_BIT),true)
154ART_TEST_HOST_RUN_TEST_DEPENDENCIES += \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100155 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Ian Rogersafd9acc2014-06-17 08:21:54 -0700156 $(2ND_HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700157endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700158
159# For a given test create all the combinations of host/target, compiler and suffix such as:
160# test-art-host-run-test-optimizing-003-omnibus-opcodes32
161# $(1): test name, e.g. 003-omnibus-opcodes
162# $(2): host or target
163# $(3): default, optimizing or interpreter
164# $(4): 32 or 64
Ian Rogers716e4f82014-07-16 11:18:03 -0700165# $(5): run tests with tracing enabled or not: trace or undefined
Ian Rogersafd9acc2014-06-17 08:21:54 -0700166define define-test-art-run-test
167 run_test_options := $(addprefix --runtime-option ,$(DALVIKVM_FLAGS))
Ian Rogers716e4f82014-07-16 11:18:03 -0700168 run_test_rule_name := test-art-$(2)-run-test-$(3)-$(1)$(4)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700169 uc_host_or_target :=
170 prereq_rule :=
171 ifeq ($(2),host)
172 uc_host_or_target := HOST
173 run_test_options += --host
174 prereq_rule := $(ART_TEST_HOST_RUN_TEST_DEPENDENCIES)
175 else
176 ifeq ($(2),target)
177 uc_host_or_target := TARGET
178 prereq_rule := test-art-target-sync
179 else
180 $$(error found $(2) expected host or target)
181 endif
182 endif
183 uc_compiler :=
184 ifeq ($(3),optimizing)
185 uc_compiler := OPTIMIZING
186 run_test_options += -Xcompiler-option --compiler-backend=Optimizing
187 else
188 ifeq ($(3),interpreter)
189 uc_compiler := INTERPRETER
190 run_test_options += --interpreter
191 else
192 ifeq ($(3),default)
193 uc_compiler := DEFAULT
194 else
195 $$(error found $(3) expected optimizing, interpreter or default)
196 endif
197 endif
198 endif
199 ifeq ($(4),64)
200 run_test_options += --64
201 else
202 ifneq ($(4),32)
203 $$(error found $(4) expected 32 or 64)
204 endif
205 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700206 ifeq ($(5),trace)
207 run_test_options += --trace
208 run_test_rule_name := test-art-$(2)-run-test-trace-$(3)-$(1)$(4)
209 else
210 ifneq (,$(5))
211 $$(error found $(5) expected undefined or -trace)
212 endif
213 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700214 run_test_options := --output-path $(ART_HOST_TEST_DIR)/run-test-output/$$(run_test_rule_name) \
215 $$(run_test_options)
216$$(run_test_rule_name): PRIVATE_RUN_TEST_OPTIONS := $$(run_test_options)
217.PHONY: $$(run_test_rule_name)
218$$(run_test_rule_name): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin $$(prereq_rule)
219 $(hide) $$(call ART_TEST_SKIP,$$@) && \
220 DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
221 art/test/run-test $$(PRIVATE_RUN_TEST_OPTIONS) $(1) \
222 && $$(call ART_TEST_PASSED,$$@) || $$(call ART_TEST_FAILED,$$@)
223 $$(hide) (echo $(MAKECMDGOALS) | grep -q $$@ && \
224 echo "run-test run as top-level target, removing test directory $(ART_HOST_TEST_DIR)" && \
225 rm -r $(ART_HOST_TEST_DIR)) || true
226
Ian Rogersafd9acc2014-06-17 08:21:54 -0700227 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)$(4)_RULES += $$(run_test_rule_name)
228 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_RULES += $$(run_test_rule_name)
229 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_$(1)_RULES += $$(run_test_rule_name)
230 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_RULES += $$(run_test_rule_name)
231 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$(1)_RULES += $$(run_test_rule_name)
232 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL_RULES += $$(run_test_rule_name)
233 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL$(4)_RULES += $$(run_test_rule_name)
234
235 # Clear locally defined variables.
236 run_test_options :=
237 run_test_rule_name :=
238 uc_host_or_target :=
239 prereq_rule :=
240 uc_compiler :=
241endef # define-test-art-run-test
242
243# Define a phony rule whose purpose is to test its prerequisites.
244# $(1): rule name, e.g. test-art-host-run-test32
245# $(2): list of prerequisites
246define define-test-art-run-test-group-rule
247.PHONY: $(1)
248$(1): $(2)
249 $(hide) $$(call ART_TEST_PREREQ_FINISHED,$$@)
250
251endef # define-test-art-run-test-group-rule
252
253# Create rules for a group of run tests.
254# $(1): test name, e.g. 003-omnibus-opcodes
255# $(2): host or target
256define define-test-art-run-test-group
257 group_uc_host_or_target :=
258 ifeq ($(2),host)
259 group_uc_host_or_target := HOST
260 else
261 ifeq ($(2),target)
262 group_uc_host_or_target := TARGET
263 else
264 $$(error found $(2) expected host or target)
265 endif
266 endif
267
268 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
269 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
270 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
271 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700272 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
273 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
274 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
275 ifeq ($(2),host)
276 # For now just test tracing on the host with default.
277 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace))
278 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700279 do_second := false
280 ifeq ($(2),host)
281 ifneq ($$(HOST_PREFER_32_BIT),true)
282 do_second := true
283 endif
284 else
285 ifdef TARGET_2ND_ARCH
286 do_second := true
287 endif
288 endif
289 ifeq (true,$$(do_second))
Ian Rogers716e4f82014-07-16 11:18:03 -0700290 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
291 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
292 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
293 ifeq ($(2),host)
294 # For now just test tracing on the host with default.
295 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace))
296 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700297 endif
298
299 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-default-$(1), \
300 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES)))
301 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-interpreter-$(1), \
302 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES)))
303 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-optimizing-$(1), \
304 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES)))
305 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1), \
306 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES)))
307
308 # Clear locally defined variables.
309 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
310 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
311 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
312 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
313 group_uc_host_or_target :=
314 do_second :=
315endef # define-test-art-run-test-group
316
317$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),target)))
318$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),host)))
319
320$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test, \
321 $(ART_TEST_TARGET_RUN_TEST_ALL_RULES)))
322$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default, \
323 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES)))
324$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter, \
325 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES)))
326$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing, \
327 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES)))
328$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(ART_PHONY_TEST_TARGET_SUFFIX), \
329 $(ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
330$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(ART_PHONY_TEST_TARGET_SUFFIX), \
331 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
332$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(ART_PHONY_TEST_TARGET_SUFFIX), \
333 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
334$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(ART_PHONY_TEST_TARGET_SUFFIX), \
335 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
336ifdef TARGET_2ND_ARCH
337 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
338 $(ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
339 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
340 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
341 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
342 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
343 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
344 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
345endif
346
347$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test, \
348 $(ART_TEST_HOST_RUN_TEST_ALL_RULES)))
349$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default, \
350 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RULES)))
351$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter, \
352 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES)))
353$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing, \
354 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES)))
355$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(ART_PHONY_TEST_HOST_SUFFIX), \
356 $(ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
357$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(ART_PHONY_TEST_HOST_SUFFIX), \
358 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
359$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(ART_PHONY_TEST_HOST_SUFFIX), \
360 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
361$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(ART_PHONY_TEST_HOST_SUFFIX), \
362 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
363ifneq ($(HOST_PREFER_32_BIT),true)
364 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
365 $(ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
366 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
367 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
368 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
369 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
370 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
371 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
372endif
373
374define-test-art-run-test :=
375define-test-art-run-test-group-rule :=
376define-test-art-run-test-group :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700377all-run-test-names :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700378ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
379ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
380ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
381ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
382ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
383ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
384ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
385ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
386ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
387ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
388ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
389ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
390ART_TEST_HOST_RUN_TEST_ALL_RULES :=
391ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
392ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
393ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700394ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700395ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
396ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
397ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700398ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700399ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
400ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
401ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=