# -*- mode: makefile -*- LOCAL_PATH := $(call my-dir) define all-harmony-test-java-files-under $(patsubst ./%,%,$(shell cd $(LOCAL_PATH) && find $(2) -name "*.java" 2> /dev/null)) endef harmony_jdwp_test_src_files := \ $(call all-harmony-test-java-files-under,,src/test/java/) #jdwp_test_runtime_target := dalvikvm -XXlib:libart.so jdwp_test_runtime_target := dalvikvm -XXlib:libartd.so #jdwp_test_runtime_host := $(ANDROID_HOST_OUT)/bin/art jdwp_test_runtime_host := $(ANDROID_HOST_OUT)/bin/art -d # Runtime target for CTS. We also support running with a forced abi. cts_jdwp_test_runtime_target := dalvikvm|\#ABI\#| -XXlib:libart.so jdwp_test_runtime_options := jdwp_test_runtime_options += -verbose:jdwp cts_jdwp_test_runtime_options := #jdwp_test_runtime_options += -Xint #jdwp_test_runtime_options += -verbose:threads jdwp_test_timeout_ms := 10000 # 10s. jdwp_test_classpath_host := $(ANDROID_HOST_OUT)/framework/apache-harmony-jdwp-tests-hostdex.jar:$(ANDROID_HOST_OUT)/framework/junit-hostdex.jar jdwp_test_classpath_target := /data/jdwp/apache-harmony-jdwp-tests.jar:/data/junit/junit-targetdex.jar jdwp_test_target_runtime_common_args := \ -Djpda.settings.verbose=true \ -Djpda.settings.syncPort=34016 \ -Djpda.settings.timeout=$(jdwp_test_timeout_ms) \ -Djpda.settings.waitingTime=$(jdwp_test_timeout_ms) jdwp_test_target_runtime_args := $(jdwp_test_target_runtime_common_args) jdwp_test_target_runtime_args += -Djpda.settings.debuggeeJavaPath='$(jdwp_test_runtime_target) $(jdwp_test_runtime_options)' cts_jdwp_test_target_runtime_args := $(jdwp_test_target_runtime_common_args) cts_jdwp_test_target_runtime_args += -Djpda.settings.debuggeeJavaPath='$(cts_jdwp_test_runtime_target) $(cts_jdwp_test_runtime_options)' include $(CLEAR_VARS) LOCAL_SRC_FILES := $(harmony_jdwp_test_src_files) LOCAL_JAVA_LIBRARIES := junit-targetdex LOCAL_MODULE_TAGS := optional LOCAL_MODULE := CtsJdwp LOCAL_NO_EMMA_INSTRUMENT := true LOCAL_NO_EMMA_COMPILE := true LOCAL_CTS_TEST_PACKAGE := android.jdwp LOCAL_CTS_TARGET_RUNTIME_ARGS := $(cts_jdwp_test_target_runtime_args) include $(BUILD_CTS_TARGET_JAVA_LIBRARY) include $(CLEAR_VARS) LOCAL_SRC_FILES := $(harmony_jdwp_test_src_files) LOCAL_JAVA_LIBRARIES := junit-targetdex LOCAL_MODULE_TAGS := tests LOCAL_MODULE := apache-harmony-jdwp-tests LOCAL_NO_EMMA_INSTRUMENT := true LOCAL_NO_EMMA_COMPILE := true LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/jdwp include $(BUILD_JAVA_LIBRARY) include $(CLEAR_VARS) LOCAL_SRC_FILES := $(harmony_jdwp_test_src_files) LOCAL_JAVA_LIBRARIES := junit LOCAL_MODULE := apache-harmony-jdwp-tests-host include $(BUILD_HOST_JAVA_LIBRARY) include $(CLEAR_VARS) LOCAL_SRC_FILES := $(harmony_jdwp_test_src_files) LOCAL_JAVA_LIBRARIES := junit-hostdex LOCAL_MODULE := apache-harmony-jdwp-tests-hostdex include $(BUILD_HOST_DALVIK_JAVA_LIBRARY) include $(call all-makefiles-under,$(LOCAL_PATH)) # Waits for device to boot completely. define wait-for-boot-complete $(hide) echo "Wait for boot complete ..." $(hide) while [ `adb wait-for-device shell getprop dev.bootcomplete | grep -c 1` -eq 0 ]; \ do \ sleep 1; \ done $(hide) echo "Boot complete" endef # If this fails complaining about TestRunner, build "external/junit" manually. .PHONY: run-jdwp-tests-target run-jdwp-tests-target: $(TARGET_OUT_DATA)/jdwp/apache-harmony-jdwp-tests.jar $(TARGET_OUT_DATA)/junit/junit-targetdex.jar adb shell stop adb remount adb sync adb reboot $(call wait-for-boot-complete) adb shell $(jdwp_test_runtime_target) -cp $(jdwp_test_classpath_target) \ $(jdwp_test_target_runtime_args) \ org.apache.harmony.jpda.tests.share.AllTests # If this fails complaining about TestRunner, build "external/junit" manually. .PHONY: run-jdwp-tests-host run-jdwp-tests-host: $(HOST_OUT_EXECUTABLES)/art $(HOST_OUT_JAVA_LIBRARIES)/apache-harmony-jdwp-tests-hostdex.jar $(HOST_OUT_JAVA_LIBRARIES)/junit-hostdex.jar $(jdwp_test_runtime_host) -cp $(jdwp_test_classpath_host) \ -Djpda.settings.verbose=true \ -Djpda.settings.syncPort=34016 \ -Djpda.settings.debuggeeJavaPath="$(jdwp_test_runtime_host) $(jdwp_test_runtime_options)" \ -Djpda.settings.timeout=$(jdwp_test_timeout_ms) \ -Djpda.settings.waitingTime=$(jdwp_test_timeout_ms) \ org.apache.harmony.jpda.tests.share.AllTests .PHONY: run-jdwp-tests-ri run-jdwp-tests-ri: $(HOST_OUT_JAVA_LIBRARIES)/apache-harmony-jdwp-tests-host.jar $(HOST_OUT_JAVA_LIBRARIES)/junit.jar java -cp $(HOST_OUT_JAVA_LIBRARIES)/apache-harmony-jdwp-tests-host.jar:$(HOST_OUT_JAVA_LIBRARIES)/junit.jar \ -Djpda.settings.verbose=true \ -Djpda.settings.syncPort=34016 \ -Djpda.settings.debuggeeJavaPath=java \ org.apache.harmony.jpda.tests.share.AllTests