blob: 80ffcbb02c74d4b7ce61a29b5f343e7dae41e3d4 [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 \
Ian Rogers55bce0c2014-07-16 14:49:34 -070070 093-serialization \
Ian Rogers716e4f82014-07-16 11:18:03 -070071 097-duplicate-method \
72 100-reflect2 \
73 102-concurrent-gc \
74 103-string-append \
75 107-int-math2 \
76 112-double-math \
77 701-easy-div-rem
78
79ART_TEST_KNOWN_BROKEN += $(foreach test, $(TEST_ART_BROKEN_TRACE_RUN_TESTS), $(call all-run-test-names,$(test),-trace))
80
Ian Rogersafd9acc2014-06-17 08:21:54 -070081# The path where build only targets will be output, e.g.
82# out/target/product/generic_x86_64/obj/PACKAGING/art-run-tests_intermediates/DATA
83art_run_tests_dir := $(call intermediates-dir-for,PACKAGING,art-run-tests)/DATA
84
85# A generated list of prerequisites that call 'run-test --build-only', the actual prerequisite is
86# an empty file touched in the intermediate directory.
87TEST_ART_RUN_TEST_BUILD_RULES :=
88
89# Helper to create individual build targets for tests. Must be called with $(eval).
90# $(1): the test number
91define define-build-art-run-test
92 dmart_target := $(art_run_tests_dir)/art-run-tests/$(1)/touch
93$$(dmart_target): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin
94 $(hide) rm -rf $$(dir $$@) && mkdir -p $$(dir $$@)
95 $(hide) DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
96 $(LOCAL_PATH)/run-test --build-only --output-path $$(abspath $$(dir $$@)) $(1)
97 $(hide) touch $$@
98
99 TEST_ART_RUN_TEST_BUILD_RULES += $$(dmart_target)
100 dmart_target :=
101endef
Ian Rogersbf66bce2014-06-24 23:15:34 -0700102$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-build-art-run-test,$(test))))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700103
104include $(CLEAR_VARS)
105LOCAL_MODULE_TAGS := tests
106LOCAL_MODULE := art-run-tests
107LOCAL_ADDITIONAL_DEPENDENCIES := $(TEST_ART_RUN_TEST_BUILD_RULES)
108# The build system use this flag to pick up files generated by declare-make-art-run-test.
109LOCAL_PICKUP_FILES := $(art_run_tests_dir)
110
111include $(BUILD_PHONY_PACKAGE)
112
113# Clear temp vars.
114TEST_ART_RUN_TEST_BUILD_RULES :=
115art_run_tests_dir :=
116define-build-art-run-test :=
117
118########################################################################
119
120ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
121ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
122ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
123ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
124ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
125ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
126ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
127ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
128ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
129ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
130ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
131ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
132ART_TEST_HOST_RUN_TEST_ALL_RULES :=
133ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
134ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
135ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700136ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700137ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
138ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
139ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700140ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700141ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
142ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
143ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
144
145# We need dex2oat and dalvikvm on the target as well as the core image.
146TEST_ART_TARGET_SYNC_DEPS += $(ART_TARGET_EXECUTABLES) $(TARGET_CORE_IMG_OUT) $(2ND_TARGET_CORE_IMG_OUT)
147
148# All tests require the host executables and the core images.
149ART_TEST_HOST_RUN_TEST_DEPENDENCIES := \
150 $(ART_HOST_EXECUTABLES) \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100151 $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Brian Carlstrom519e3d02014-06-25 00:57:36 -0700152 $(HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700153
154ifneq ($(HOST_PREFER_32_BIT),true)
155ART_TEST_HOST_RUN_TEST_DEPENDENCIES += \
Nicolas Geoffray4d1231d2014-07-01 10:46:31 +0100156 $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
Ian Rogersafd9acc2014-06-17 08:21:54 -0700157 $(2ND_HOST_CORE_IMG_OUT)
Ian Rogers665de8a2014-06-24 21:34:09 -0700158endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700159
160# For a given test create all the combinations of host/target, compiler and suffix such as:
161# test-art-host-run-test-optimizing-003-omnibus-opcodes32
162# $(1): test name, e.g. 003-omnibus-opcodes
163# $(2): host or target
164# $(3): default, optimizing or interpreter
165# $(4): 32 or 64
Ian Rogers716e4f82014-07-16 11:18:03 -0700166# $(5): run tests with tracing enabled or not: trace or undefined
Ian Rogersafd9acc2014-06-17 08:21:54 -0700167define define-test-art-run-test
168 run_test_options := $(addprefix --runtime-option ,$(DALVIKVM_FLAGS))
Ian Rogers716e4f82014-07-16 11:18:03 -0700169 run_test_rule_name := test-art-$(2)-run-test-$(3)-$(1)$(4)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700170 uc_host_or_target :=
171 prereq_rule :=
Ian Rogers5242c0a2014-07-18 11:02:19 -0700172 skip_test := false
Ian Rogersafd9acc2014-06-17 08:21:54 -0700173 ifeq ($(2),host)
174 uc_host_or_target := HOST
175 run_test_options += --host
176 prereq_rule := $(ART_TEST_HOST_RUN_TEST_DEPENDENCIES)
177 else
178 ifeq ($(2),target)
179 uc_host_or_target := TARGET
180 prereq_rule := test-art-target-sync
181 else
182 $$(error found $(2) expected host or target)
183 endif
184 endif
185 uc_compiler :=
186 ifeq ($(3),optimizing)
187 uc_compiler := OPTIMIZING
188 run_test_options += -Xcompiler-option --compiler-backend=Optimizing
Ian Rogers5242c0a2014-07-18 11:02:19 -0700189 ifneq ($$(ART_TEST_OPTIMIZING),true)
190 skip_test := true
191 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700192 else
193 ifeq ($(3),interpreter)
194 uc_compiler := INTERPRETER
195 run_test_options += --interpreter
196 else
197 ifeq ($(3),default)
198 uc_compiler := DEFAULT
199 else
200 $$(error found $(3) expected optimizing, interpreter or default)
201 endif
202 endif
203 endif
204 ifeq ($(4),64)
205 run_test_options += --64
206 else
207 ifneq ($(4),32)
208 $$(error found $(4) expected 32 or 64)
209 endif
210 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700211 ifeq ($(5),trace)
212 run_test_options += --trace
213 run_test_rule_name := test-art-$(2)-run-test-trace-$(3)-$(1)$(4)
Ian Rogers5242c0a2014-07-18 11:02:19 -0700214 ifneq ($$(ART_TEST_TRACE),true)
215 skip_test := true
216 endif
Ian Rogers716e4f82014-07-16 11:18:03 -0700217 else
218 ifneq (,$(5))
219 $$(error found $(5) expected undefined or -trace)
220 endif
221 endif
Ian Rogers5242c0a2014-07-18 11:02:19 -0700222 ifeq ($$(skip_test),false)
223 run_test_options := --output-path $(ART_HOST_TEST_DIR)/run-test-output/$$(run_test_rule_name) \
224 $$(run_test_options)
Ian Rogersafd9acc2014-06-17 08:21:54 -0700225$$(run_test_rule_name): PRIVATE_RUN_TEST_OPTIONS := $$(run_test_options)
226.PHONY: $$(run_test_rule_name)
227$$(run_test_rule_name): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin $$(prereq_rule)
228 $(hide) $$(call ART_TEST_SKIP,$$@) && \
229 DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) \
230 art/test/run-test $$(PRIVATE_RUN_TEST_OPTIONS) $(1) \
231 && $$(call ART_TEST_PASSED,$$@) || $$(call ART_TEST_FAILED,$$@)
232 $$(hide) (echo $(MAKECMDGOALS) | grep -q $$@ && \
233 echo "run-test run as top-level target, removing test directory $(ART_HOST_TEST_DIR)" && \
234 rm -r $(ART_HOST_TEST_DIR)) || true
Ian Rogers5242c0a2014-07-18 11:02:19 -0700235 else
236 .PHONY: $$(run_test_rule_name)
237$$(run_test_rule_name):
238 endif
Ian Rogersafd9acc2014-06-17 08:21:54 -0700239
Ian Rogersafd9acc2014-06-17 08:21:54 -0700240 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)$(4)_RULES += $$(run_test_rule_name)
241 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_RULES += $$(run_test_rule_name)
242 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_$(1)_RULES += $$(run_test_rule_name)
243 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$$(uc_compiler)_RULES += $$(run_test_rule_name)
244 ART_TEST_$$(uc_host_or_target)_RUN_TEST_$(1)_RULES += $$(run_test_rule_name)
245 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL_RULES += $$(run_test_rule_name)
246 ART_TEST_$$(uc_host_or_target)_RUN_TEST_ALL$(4)_RULES += $$(run_test_rule_name)
247
248 # Clear locally defined variables.
Ian Rogers5242c0a2014-07-18 11:02:19 -0700249 skip_test :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700250 run_test_options :=
251 run_test_rule_name :=
252 uc_host_or_target :=
253 prereq_rule :=
254 uc_compiler :=
255endef # define-test-art-run-test
256
257# Define a phony rule whose purpose is to test its prerequisites.
258# $(1): rule name, e.g. test-art-host-run-test32
259# $(2): list of prerequisites
260define define-test-art-run-test-group-rule
261.PHONY: $(1)
262$(1): $(2)
263 $(hide) $$(call ART_TEST_PREREQ_FINISHED,$$@)
264
265endef # define-test-art-run-test-group-rule
266
267# Create rules for a group of run tests.
268# $(1): test name, e.g. 003-omnibus-opcodes
269# $(2): host or target
270define define-test-art-run-test-group
271 group_uc_host_or_target :=
272 ifeq ($(2),host)
273 group_uc_host_or_target := HOST
274 else
275 ifeq ($(2),target)
276 group_uc_host_or_target := TARGET
277 else
278 $$(error found $(2) expected host or target)
279 endif
280 endif
281
282 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
283 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
284 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
285 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700286 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
287 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
288 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
Ian Rogers5242c0a2014-07-18 11:02:19 -0700289 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace))
290 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace))
291 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700292 do_second := false
293 ifeq ($(2),host)
294 ifneq ($$(HOST_PREFER_32_BIT),true)
295 do_second := true
296 endif
297 else
298 ifdef TARGET_2ND_ARCH
299 do_second := true
300 endif
301 endif
302 ifeq (true,$$(do_second))
Ian Rogers716e4f82014-07-16 11:18:03 -0700303 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
304 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
305 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),))
Ian Rogers5242c0a2014-07-18 11:02:19 -0700306 $$(eval $$(call define-test-art-run-test,$(1),$(2),default,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace))
307 $$(eval $$(call define-test-art-run-test,$(1),$(2),interpreter,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace))
308 $$(eval $$(call define-test-art-run-test,$(1),$(2),optimizing,$$(2ND_ART_PHONY_TEST_$$(group_uc_host_or_target)_SUFFIX),trace))
Ian Rogersafd9acc2014-06-17 08:21:54 -0700309 endif
310
311 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-default-$(1), \
312 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES)))
313 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-interpreter-$(1), \
314 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES)))
315 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-optimizing-$(1), \
316 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES)))
317 $$(eval $$(call define-test-art-run-test-group-rule,test-art-$(2)-run-test-$(1), \
318 $$(ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES)))
319
320 # Clear locally defined variables.
321 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_DEFAULT_$(1)_RULES :=
322 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_INTERPRETER_$(1)_RULES :=
323 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_OPTIMIZING_$(1)_RULES :=
324 ART_TEST_$$(group_uc_host_or_target)_RUN_TEST_$(1)_RULES :=
325 group_uc_host_or_target :=
326 do_second :=
327endef # define-test-art-run-test-group
328
329$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),target)))
330$(foreach test, $(TEST_ART_RUN_TESTS), $(eval $(call define-test-art-run-test-group,$(test),host)))
331
332$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test, \
333 $(ART_TEST_TARGET_RUN_TEST_ALL_RULES)))
334$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default, \
335 $(ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES)))
336$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter, \
337 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES)))
338$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing, \
339 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES)))
340$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(ART_PHONY_TEST_TARGET_SUFFIX), \
341 $(ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
342$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(ART_PHONY_TEST_TARGET_SUFFIX), \
343 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
344$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(ART_PHONY_TEST_TARGET_SUFFIX), \
345 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
346$(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(ART_PHONY_TEST_TARGET_SUFFIX), \
347 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
348ifdef TARGET_2ND_ARCH
349 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
350 $(ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
351 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-default$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
352 $(ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
353 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-interpreter$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
354 $(ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
355 $(eval $(call define-test-art-run-test-group-rule,test-art-target-run-test-optimizing$(2ND_ART_PHONY_TEST_TARGET_SUFFIX), \
356 $(ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES)))
357endif
358
359$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test, \
360 $(ART_TEST_HOST_RUN_TEST_ALL_RULES)))
361$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default, \
362 $(ART_TEST_HOST_RUN_TEST_DEFAULT_RULES)))
363$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter, \
364 $(ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES)))
365$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing, \
366 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES)))
367$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(ART_PHONY_TEST_HOST_SUFFIX), \
368 $(ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
369$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(ART_PHONY_TEST_HOST_SUFFIX), \
370 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
371$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(ART_PHONY_TEST_HOST_SUFFIX), \
372 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
373$(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(ART_PHONY_TEST_HOST_SUFFIX), \
374 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
375ifneq ($(HOST_PREFER_32_BIT),true)
376 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
377 $(ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
378 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-default$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
379 $(ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
380 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-interpreter$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
381 $(ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
382 $(eval $(call define-test-art-run-test-group-rule,test-art-host-run-test-optimizing$(2ND_ART_PHONY_TEST_HOST_SUFFIX), \
383 $(ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES)))
384endif
385
386define-test-art-run-test :=
387define-test-art-run-test-group-rule :=
388define-test-art-run-test-group :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700389all-run-test-names :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700390ART_TEST_TARGET_RUN_TEST_ALL_RULES :=
391ART_TEST_TARGET_RUN_TEST_DEFAULT_RULES :=
392ART_TEST_TARGET_RUN_TEST_INTERPRETER_RULES :=
393ART_TEST_TARGET_RUN_TEST_OPTIMIZING_RULES :=
394ART_TEST_TARGET_RUN_TEST_ALL$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
395ART_TEST_TARGET_RUN_TEST_DEFAULT$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
396ART_TEST_TARGET_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
397ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
398ART_TEST_TARGET_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
399ART_TEST_TARGET_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
400ART_TEST_TARGET_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
401ART_TEST_TARGET_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_TARGET_SUFFIX)_RULES :=
402ART_TEST_HOST_RUN_TEST_ALL_RULES :=
403ART_TEST_HOST_RUN_TEST_DEFAULT_RULES :=
404ART_TEST_HOST_RUN_TEST_INTERPRETER_RULES :=
405ART_TEST_HOST_RUN_TEST_OPTIMIZING_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700406ART_TEST_HOST_RUN_TEST_ALL$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700407ART_TEST_HOST_RUN_TEST_DEFAULT$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
408ART_TEST_HOST_RUN_TEST_INTERPRETER$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
409ART_TEST_HOST_RUN_TEST_OPTIMIZING$(ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogers716e4f82014-07-16 11:18:03 -0700410ART_TEST_HOST_RUN_TEST_ALL$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
Ian Rogersafd9acc2014-06-17 08:21:54 -0700411ART_TEST_HOST_RUN_TEST_DEFAULT$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
412ART_TEST_HOST_RUN_TEST_INTERPRETER$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=
413ART_TEST_HOST_RUN_TEST_OPTIMIZING$(2ND_ART_PHONY_TEST_HOST_SUFFIX)_RULES :=