| # -*- 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 |