# Copyright (C) 2012 The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ifeq ($(JACKTEST_ARGS)$(JACKTEST_DALVIK_FLAGS)$(JACKTEST_SOURCE_JAVA7),) JACKREGRESSIONTEST_WITHJACK_SRC := $(JACKREGRESSIONTEST_WITHJACK_SRC) $(JACKTEST_WITHJACK_SRC) JACKREGRESSIONTEST_LINK_SRC := $(JACKREGRESSIONTEST_LINK_SRC) $(JACKTEST_LINK_SRC) JACKREGRESSIONTEST_JUNIT := $(JACKREGRESSIONTEST_JUNIT) $(JACKTEST_JUNIT) JACKREGRESSIONTEST_WITHDX_SRC := $(JACKREGRESSIONTEST_WITHDX_SRC) $(JACKTEST_WITHDX_SRC) JACKREGRESSIONTEST_LIB_SRC := $(JACKREGRESSIONTEST_LIB_SRC) $(JACKTEST_LIB_SRC) JACKREGRESSIONTEST_TEST_MK := $(JACKREGRESSIONTEST_TEST_MK) $(PRIVATE_TEST_MK) else test-jack-regression: test-jack-$(JACKTEST_MODULE) endif ifneq ($(JACKTEST_MODULE),regression) test-jack-one-by-one: test-jack-$(JACKTEST_MODULE) endif ifneq ($(strip $(JACKTEST_LIB_SRC)),) include $(CLEAR_VARS) LOCAL_MODULE := jacktest_$(JACKTEST_MODULE)_lib LOCAL_USE_JACK := true LOCAL_ADDITIONAL_DEPENDENCIES+=$(JACK_JAR) LOCAL_SRC_FILES := $(JACKTEST_LIB_SRC) LOCAL_MODULE_TAGS := optional LOCAL_JAVACFLAGS := -nowarn LOCAL_JAVA_LIBRARIES := junit4-hostdex-jack include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) JACKTEST_LIB_DEX := $(LOCAL_BUILT_MODULE) JACK_TEST_LIB_NAME := $(LOCAL_MODULE) else JACKTEST_LIB_DEX := JACK_TEST_LIB_NAME := endif ifneq ($(strip $(JACKTEST_LINK_SRC)),) include $(CLEAR_VARS) LOCAL_MODULE := jacktest_$(JACKTEST_MODULE)_link LOCAL_USE_JACK := true LOCAL_ADDITIONAL_DEPENDENCIES+=$(JACK_JAR) LOCAL_SRC_FILES := $(JACKTEST_LINK_SRC) LOCAL_MODULE_TAGS := optional LOCAL_JAVACFLAGS := -nowarn LOCAL_JAVA_LIBRARIES := junit4-hostdex-jack include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) JACKTEST_LINK_DEX := $(LOCAL_BUILT_MODULE) else JACKTEST_LINK_DEX := endif ifneq ($(strip $(JACKTEST_WITHJACK_SRC)),) include $(CLEAR_VARS) LOCAL_MODULE := jacktest_$(JACKTEST_MODULE)_withjack LOCAL_USE_JACK := true LOCAL_ADDITIONAL_DEPENDENCIES+=$(JACK_JAR) LOCAL_SRC_FILES := $(JACKTEST_WITHJACK_SRC) LOCAL_MODULE_TAGS := optional LOCAL_JAVACFLAGS := -nowarn LOCAL_JACK_FLAGS := $(JACKTEST_ARGS) $(JACKTEST_SOURCE_JAVA7) LOCAL_JAVA_LIBRARIES := junit4-hostdex-jack $(JACK_TEST_LIB_NAME) include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) JACKTEST_WITHJACK_DEX := $(LOCAL_BUILT_MODULE) JACK_TEST_JACK_NAME := $(LOCAL_MODULE) else JACKTEST_WITHJACK_DEX := JACK_TEST_JACK_NAME := endif ifneq ($(strip $(JACKTEST_WITHDX_SRC)),) include $(CLEAR_VARS) LOCAL_MODULE := jacktest_$(JACKTEST_MODULE)_withdx LOCAL_USE_JACK := false LOCAL_SRC_FILES := $(JACKTEST_WITHDX_SRC) LOCAL_MODULE_TAGS := optional LOCAL_JAVACFLAGS := -nowarn LOCAL_JAVA_LIBRARIES := junit4-hostdex-jack $(JACK_TEST_LIB_NAME) $(JACK_TEST_JACK_NAME) include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) JACKTEST_WITHDX_DEX := $(LOCAL_BUILT_MODULE) else JACKTEST_WITHDX_DEX := endif # Make sure that this JACKTEST_MODULE is unique. jackmodule_id := JACKMODULE.$(JACKTEST_MODULE) ifdef $(jackmodule_id) $(error $(LOCAL_PATH): $(jackmodule_id) already defined by $($(jackmodule_id))) endif $(jackmodule_id) := $(LOCAL_PATH) .PHONY: test-jack-$(JACKTEST_MODULE) test-jack-$(JACKTEST_MODULE): PRIVATE_CLASSPATH := $(JACKTEST_WITHDX_DEX) $(JACKTEST_LINK_DEX) $(JACKTEST_WITHJACK_DEX) $(JACKTEST_LIB_DEX) $(junit.dex) test-jack-$(JACKTEST_MODULE): PRIVATE_JUNIT := $(JACKTEST_JUNIT) test-jack-$(JACKTEST_MODULE): PRIVATE_DALVIK_FLAGS := $(JACKTEST_DALVIK_FLAGS) test-jack-$(JACKTEST_MODULE): PRIVATE_MODULE := $(JACKTEST_MODULE) test-jack-$(JACKTEST_MODULE): $(JACKTEST_WITHDX_DEX) $(JACKTEST_WITHJACK_DEX) $(JACKTEST_LIB_DEX) $(JACKTEST_LINK_DEX) $(BOOTCLASSPATH_DEX) | $(junit.dex) $(HOST_OUT_EXECUTABLES)/art $(hide) mkdir -p /tmp/android-data/dalvik-cache $(hide) find /tmp/android-data/ -name "*$(subst /,@,$(PRIVATE_MODULE))*.dex" | xargs rm -f ifneq ($(ART_ANDROID_BUILD_TOP),) ANDROID_BUILD_TOP=$(ART_ANDROID_BUILD_TOP) ANDROID_HOST_OUT=$(ART_ANDROID_BUILD_TOP)/out/host/linux-x86 $(ART_ANDROID_BUILD_TOP)/out/host/linux-x86/bin/art $(PRIVATE_DALVIK_FLAGS) -classpath $(call normalize-path-list,$(PRIVATE_CLASSPATH)) org.junit.runner.JUnitCore $(PRIVATE_JUNIT) && echo $@ PASSED || (echo $@ FAILED with ART; exit 42) else $(hide) art $(PRIVATE_DALVIK_FLAGS) -classpath $(call normalize-path-list,$(PRIVATE_CLASSPATH)) org.junit.runner.JUnitCore $(PRIVATE_JUNIT) \ || (echo $@ FAILED; exit 42) endif