• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 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# Dependencies for actually running a run-test.
21TEST_ART_RUN_TEST_DEPENDENCIES := \
22  $(HOST_OUT_EXECUTABLES)/d8 \
23  $(HOST_OUT_EXECUTABLES)/hiddenapi \
24  $(HOST_OUT_EXECUTABLES)/jasmin \
25  $(HOST_OUT_EXECUTABLES)/android-smali
26
27# We need the ART Testing APEX (which is a superset of the Release
28# and Debug APEXes) -- which contains dex2oat, dalvikvm, their
29# dependencies and ART gtests -- on the target, as well as the core
30# images (all images as we sync only once).
31ART_TEST_TARGET_RUN_TEST_DEPENDENCIES := $(TESTING_ART_APEX) $(TARGET_CORE_IMG_OUTS)
32
33# Also need these other libs and binaries.
34ART_TEST_TARGET_RUN_TEST_DEPENDENCIES += \
35  libartagent-target libartagentd-target \
36  libtiagent-target libtiagentd-target \
37  libtistress-target libtistressd-target \
38  libarttest-target libarttestd-target \
39  libarttest_external-target libarttestd_external-target \
40  libnativebridgetest-target libnativebridgetestd-target \
41  signal_dumper-target
42
43# All tests require the host executables. The tests also depend on the core images, but on
44# specific version depending on the compiler.
45ART_TEST_HOST_RUN_TEST_DEPENDENCIES := \
46  $(ART_HOST_EXECUTABLES) \
47  $(HOST_OUT_EXECUTABLES)/hprof-conv \
48  $(HOST_OUT_EXECUTABLES)/signal_dumper \
49  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtiagent) \
50  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtiagentd) \
51  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtistress) \
52  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtistressd) \
53  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libartagent) \
54  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libartagentd) \
55  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libarttest) \
56  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libarttestd) \
57  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libarttest_external) \
58  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libarttestd_external) \
59  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libnativebridgetest) \
60  $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libnativebridgetestd) \
61  $(ART_HOST_OUT_SHARED_LIBRARIES)/libicu_jni$(ART_HOST_SHLIB_EXTENSION) \
62  $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
63  $(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdk$(ART_HOST_SHLIB_EXTENSION) \
64  $(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkd$(ART_HOST_SHLIB_EXTENSION) \
65  $(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkjvmti$(ART_HOST_SHLIB_EXTENSION) \
66  $(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkjvmtid$(ART_HOST_SHLIB_EXTENSION) \
67  $(ART_HOST_DEX_DEPENDENCIES) \
68  $(HOST_I18N_DATA) \
69  art_boot_images
70
71ifneq ($(HOST_PREFER_32_BIT),true)
72ART_TEST_HOST_RUN_TEST_DEPENDENCIES += \
73  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtiagent) \
74  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtiagentd) \
75  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtistress) \
76  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtistressd) \
77  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libartagent) \
78  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libartagentd) \
79  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libarttest) \
80  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libarttestd) \
81  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libarttest_external) \
82  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libarttestd_external) \
83  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libnativebridgetest) \
84  $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libnativebridgetestd) \
85  $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libicu_jni$(ART_HOST_SHLIB_EXTENSION) \
86  $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \
87  $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdk$(ART_HOST_SHLIB_EXTENSION) \
88  $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkd$(ART_HOST_SHLIB_EXTENSION) \
89  $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkjvmti$(ART_HOST_SHLIB_EXTENSION) \
90  $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkjvmtid$(ART_HOST_SHLIB_EXTENSION) \
91
92endif
93
94test-art-host-run-test-dependencies : \
95      $(ART_TEST_HOST_RUN_TEST_DEPENDENCIES) $(TEST_ART_RUN_TEST_DEPENDENCIES) \
96      $(HOST_BOOT_IMAGE_JARS)
97.PHONY: test-art-host-run-test-dependencies
98test-art-run-test-dependencies : test-art-host-run-test-dependencies
99
100test-art-jvm-run-test-dependencies : test-art-host-run-test-dependencies
101.PHONY: test-art-jvm-run-test-dependencies
102
103test-art-target-run-test-dependencies :
104.PHONY: test-art-target-run-test-dependencies
105test-art-run-test-dependencies : test-art-target-run-test-dependencies
106.PHONY: test-art-run-test-dependencies
107
108# Create a rule to build and run a test group of the following form:
109# test-art-{1: host target}-run-test
110define define-test-art-host-or-target-run-test-group
111  build_target := test-art-$(1)-run-test
112  .PHONY: $$(build_target)
113
114  $$(build_target) : args := --$(1) --verbose
115  $$(build_target) : test-art-$(1)-run-test-dependencies
116	./art/test/testrunner/testrunner.py $$(args)
117  build_target :=
118  args :=
119
120  test-art-run-test : $(build_target)
121endef  # define-test-art-host-or-target-run-test-group
122
123$(eval $(call define-test-art-host-or-target-run-test-group,target))
124$(eval $(call define-test-art-host-or-target-run-test-group,host))
125
126define-test-art-host-or-target-run-test-group :=
127LOCAL_PATH :=
128