1*795d594fSAndroid Build Coastguard Worker# Copyright (C) 2011 The Android Open Source Project 2*795d594fSAndroid Build Coastguard Worker# 3*795d594fSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*795d594fSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*795d594fSAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*795d594fSAndroid Build Coastguard Worker# 7*795d594fSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*795d594fSAndroid Build Coastguard Worker# 9*795d594fSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*795d594fSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*795d594fSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*795d594fSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*795d594fSAndroid Build Coastguard Worker# limitations under the License. 14*795d594fSAndroid Build Coastguard Worker# 15*795d594fSAndroid Build Coastguard Worker 16*795d594fSAndroid Build Coastguard WorkerLOCAL_PATH := $(call my-dir) 17*795d594fSAndroid Build Coastguard Worker 18*795d594fSAndroid Build Coastguard Workerinclude art/build/Android.common_test.mk 19*795d594fSAndroid Build Coastguard Worker 20*795d594fSAndroid Build Coastguard Worker# Dependencies for actually running a run-test. 21*795d594fSAndroid Build Coastguard WorkerTEST_ART_RUN_TEST_DEPENDENCIES := \ 22*795d594fSAndroid Build Coastguard Worker $(HOST_OUT_EXECUTABLES)/d8 \ 23*795d594fSAndroid Build Coastguard Worker $(HOST_OUT_EXECUTABLES)/hiddenapi \ 24*795d594fSAndroid Build Coastguard Worker $(HOST_OUT_EXECUTABLES)/jasmin \ 25*795d594fSAndroid Build Coastguard Worker $(HOST_OUT_EXECUTABLES)/android-smali 26*795d594fSAndroid Build Coastguard Worker 27*795d594fSAndroid Build Coastguard Worker# We need the ART Testing APEX (which is a superset of the Release 28*795d594fSAndroid Build Coastguard Worker# and Debug APEXes) -- which contains dex2oat, dalvikvm, their 29*795d594fSAndroid Build Coastguard Worker# dependencies and ART gtests -- on the target, as well as the core 30*795d594fSAndroid Build Coastguard Worker# images (all images as we sync only once). 31*795d594fSAndroid Build Coastguard WorkerART_TEST_TARGET_RUN_TEST_DEPENDENCIES := $(TESTING_ART_APEX) $(TARGET_CORE_IMG_OUTS) 32*795d594fSAndroid Build Coastguard Worker 33*795d594fSAndroid Build Coastguard Worker# Also need libartagent. 34*795d594fSAndroid Build Coastguard WorkerART_TEST_TARGET_RUN_TEST_DEPENDENCIES += libartagent-target libartagentd-target 35*795d594fSAndroid Build Coastguard Worker 36*795d594fSAndroid Build Coastguard Worker# Also need libtiagent. 37*795d594fSAndroid Build Coastguard WorkerART_TEST_TARGET_RUN_TEST_DEPENDENCIES += libtiagent-target libtiagentd-target 38*795d594fSAndroid Build Coastguard Worker 39*795d594fSAndroid Build Coastguard Worker# Also need libtistress. 40*795d594fSAndroid Build Coastguard WorkerART_TEST_TARGET_RUN_TEST_DEPENDENCIES += libtistress-target libtistressd-target 41*795d594fSAndroid Build Coastguard Worker 42*795d594fSAndroid Build Coastguard Worker# Also need libarttest. 43*795d594fSAndroid Build Coastguard WorkerART_TEST_TARGET_RUN_TEST_DEPENDENCIES += libarttest-target libarttestd-target 44*795d594fSAndroid Build Coastguard Worker 45*795d594fSAndroid Build Coastguard Worker# Also need libnativebridgetest. 46*795d594fSAndroid Build Coastguard WorkerART_TEST_TARGET_RUN_TEST_DEPENDENCIES += libnativebridgetest-target libnativebridgetestd-target 47*795d594fSAndroid Build Coastguard Worker 48*795d594fSAndroid Build Coastguard Worker# Also need signal_dumper. 49*795d594fSAndroid Build Coastguard WorkerART_TEST_TARGET_RUN_TEST_DEPENDENCIES += signal_dumper-target 50*795d594fSAndroid Build Coastguard Worker 51*795d594fSAndroid Build Coastguard Worker# All tests require the host executables. The tests also depend on the core images, but on 52*795d594fSAndroid Build Coastguard Worker# specific version depending on the compiler. 53*795d594fSAndroid Build Coastguard WorkerART_TEST_HOST_RUN_TEST_DEPENDENCIES := \ 54*795d594fSAndroid Build Coastguard Worker $(ART_HOST_EXECUTABLES) \ 55*795d594fSAndroid Build Coastguard Worker $(HOST_OUT_EXECUTABLES)/hprof-conv \ 56*795d594fSAndroid Build Coastguard Worker $(HOST_OUT_EXECUTABLES)/signal_dumper \ 57*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtiagent) \ 58*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtiagentd) \ 59*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtistress) \ 60*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libtistressd) \ 61*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libartagent) \ 62*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libartagentd) \ 63*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libarttest) \ 64*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libarttestd) \ 65*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libnativebridgetest) \ 66*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(ART_HOST_ARCH)_libnativebridgetestd) \ 67*795d594fSAndroid Build Coastguard Worker $(ART_HOST_OUT_SHARED_LIBRARIES)/libicu_jni$(ART_HOST_SHLIB_EXTENSION) \ 68*795d594fSAndroid Build Coastguard Worker $(ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \ 69*795d594fSAndroid Build Coastguard Worker $(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdk$(ART_HOST_SHLIB_EXTENSION) \ 70*795d594fSAndroid Build Coastguard Worker $(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkd$(ART_HOST_SHLIB_EXTENSION) \ 71*795d594fSAndroid Build Coastguard Worker $(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkjvmti$(ART_HOST_SHLIB_EXTENSION) \ 72*795d594fSAndroid Build Coastguard Worker $(ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkjvmtid$(ART_HOST_SHLIB_EXTENSION) \ 73*795d594fSAndroid Build Coastguard Worker $(ART_HOST_DEX_DEPENDENCIES) \ 74*795d594fSAndroid Build Coastguard Worker $(HOST_I18N_DATA) \ 75*795d594fSAndroid Build Coastguard Worker art_boot_images 76*795d594fSAndroid Build Coastguard Worker 77*795d594fSAndroid Build Coastguard Workerifneq ($(HOST_PREFER_32_BIT),true) 78*795d594fSAndroid Build Coastguard WorkerART_TEST_HOST_RUN_TEST_DEPENDENCIES += \ 79*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtiagent) \ 80*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtiagentd) \ 81*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtistress) \ 82*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libtistressd) \ 83*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libartagent) \ 84*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libartagentd) \ 85*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libarttest) \ 86*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libarttestd) \ 87*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libnativebridgetest) \ 88*795d594fSAndroid Build Coastguard Worker $(ART_TEST_LIST_host_$(2ND_ART_HOST_ARCH)_libnativebridgetestd) \ 89*795d594fSAndroid Build Coastguard Worker $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libicu_jni$(ART_HOST_SHLIB_EXTENSION) \ 90*795d594fSAndroid Build Coastguard Worker $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libjavacore$(ART_HOST_SHLIB_EXTENSION) \ 91*795d594fSAndroid Build Coastguard Worker $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdk$(ART_HOST_SHLIB_EXTENSION) \ 92*795d594fSAndroid Build Coastguard Worker $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkd$(ART_HOST_SHLIB_EXTENSION) \ 93*795d594fSAndroid Build Coastguard Worker $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkjvmti$(ART_HOST_SHLIB_EXTENSION) \ 94*795d594fSAndroid Build Coastguard Worker $(2ND_ART_HOST_OUT_SHARED_LIBRARIES)/libopenjdkjvmtid$(ART_HOST_SHLIB_EXTENSION) \ 95*795d594fSAndroid Build Coastguard Worker 96*795d594fSAndroid Build Coastguard Workerendif 97*795d594fSAndroid Build Coastguard Worker 98*795d594fSAndroid Build Coastguard Workertest-art-host-run-test-dependencies : \ 99*795d594fSAndroid Build Coastguard Worker $(ART_TEST_HOST_RUN_TEST_DEPENDENCIES) $(TEST_ART_RUN_TEST_DEPENDENCIES) \ 100*795d594fSAndroid Build Coastguard Worker $(HOST_BOOT_IMAGE_JARS) 101*795d594fSAndroid Build Coastguard Worker.PHONY: test-art-host-run-test-dependencies 102*795d594fSAndroid Build Coastguard Workertest-art-run-test-dependencies : test-art-host-run-test-dependencies 103*795d594fSAndroid Build Coastguard Worker 104*795d594fSAndroid Build Coastguard Workertest-art-jvm-run-test-dependencies : test-art-host-run-test-dependencies 105*795d594fSAndroid Build Coastguard Worker.PHONY: test-art-jvm-run-test-dependencies 106*795d594fSAndroid Build Coastguard Worker 107*795d594fSAndroid Build Coastguard Workertest-art-target-run-test-dependencies : 108*795d594fSAndroid Build Coastguard Worker.PHONY: test-art-target-run-test-dependencies 109*795d594fSAndroid Build Coastguard Workertest-art-run-test-dependencies : test-art-target-run-test-dependencies 110*795d594fSAndroid Build Coastguard Worker.PHONY: test-art-run-test-dependencies 111*795d594fSAndroid Build Coastguard Worker 112*795d594fSAndroid Build Coastguard Worker# Create a rule to build and run a test group of the following form: 113*795d594fSAndroid Build Coastguard Worker# test-art-{1: host target}-run-test 114*795d594fSAndroid Build Coastguard Workerdefine define-test-art-host-or-target-run-test-group 115*795d594fSAndroid Build Coastguard Worker build_target := test-art-$(1)-run-test 116*795d594fSAndroid Build Coastguard Worker .PHONY: $$(build_target) 117*795d594fSAndroid Build Coastguard Worker 118*795d594fSAndroid Build Coastguard Worker $$(build_target) : args := --$(1) --verbose 119*795d594fSAndroid Build Coastguard Worker $$(build_target) : test-art-$(1)-run-test-dependencies 120*795d594fSAndroid Build Coastguard Worker ./art/test/testrunner/testrunner.py $$(args) 121*795d594fSAndroid Build Coastguard Worker build_target := 122*795d594fSAndroid Build Coastguard Worker args := 123*795d594fSAndroid Build Coastguard Worker 124*795d594fSAndroid Build Coastguard Worker test-art-run-test : $(build_target) 125*795d594fSAndroid Build Coastguard Workerendef # define-test-art-host-or-target-run-test-group 126*795d594fSAndroid Build Coastguard Worker 127*795d594fSAndroid Build Coastguard Worker$(eval $(call define-test-art-host-or-target-run-test-group,target)) 128*795d594fSAndroid Build Coastguard Worker$(eval $(call define-test-art-host-or-target-run-test-group,host)) 129*795d594fSAndroid Build Coastguard Worker 130*795d594fSAndroid Build Coastguard Workerdefine-test-art-host-or-target-run-test-group := 131*795d594fSAndroid Build Coastguard WorkerLOCAL_PATH := 132