178541c433049322b27b4f437973076ba29cff709Jordan Rose# -*- mode: makefile -*-
296e7813f08c6adf1d8657b0da86741b54e850fd7Rafael Espindola
396e7813f08c6adf1d8657b0da86741b54e850fd7Rafael EspindolaLOCAL_PATH := $(call my-dir)
496e7813f08c6adf1d8657b0da86741b54e850fd7Rafael Espindola
596e7813f08c6adf1d8657b0da86741b54e850fd7Rafael Espindoladefine all-harmony-test-java-files-under
678541c433049322b27b4f437973076ba29cff709Jordan Rose  $(patsubst ./%,%,$(shell cd $(LOCAL_PATH) && find $(2) -name "*.java" 2> /dev/null))
778541c433049322b27b4f437973076ba29cff709Jordan Roseendef
878541c433049322b27b4f437973076ba29cff709Jordan Rose
978541c433049322b27b4f437973076ba29cff709Jordan Roseharmony_jdwp_test_src_files := \
1078541c433049322b27b4f437973076ba29cff709Jordan Rose    $(call all-harmony-test-java-files-under,,src/test/java/)
1178541c433049322b27b4f437973076ba29cff709Jordan Rose
1278541c433049322b27b4f437973076ba29cff709Jordan Rose#jdwp_test_runtime_target := dalvikvm -XXlib:libart.so
1378541c433049322b27b4f437973076ba29cff709Jordan Rosejdwp_test_runtime_target := dalvikvm -XXlib:libartd.so
1478541c433049322b27b4f437973076ba29cff709Jordan Rose#jdwp_test_runtime_host := $(ANDROID_HOST_OUT)/bin/art
1578541c433049322b27b4f437973076ba29cff709Jordan Rosejdwp_test_runtime_host := $(ANDROID_HOST_OUT)/bin/art -d
1678541c433049322b27b4f437973076ba29cff709Jordan Rose
1778541c433049322b27b4f437973076ba29cff709Jordan Rose# Runtime target for CTS. We also support running with a forced abi.
1878541c433049322b27b4f437973076ba29cff709Jordan Rosects_jdwp_test_runtime_target := dalvikvm|\#ABI\#| -XXlib:libart.so
1978541c433049322b27b4f437973076ba29cff709Jordan Rose
2078541c433049322b27b4f437973076ba29cff709Jordan Rosejdwp_test_runtime_options :=
2178541c433049322b27b4f437973076ba29cff709Jordan Rosejdwp_test_runtime_options += -verbose:jdwp
2278541c433049322b27b4f437973076ba29cff709Jordan Rosects_jdwp_test_runtime_options :=
2378541c433049322b27b4f437973076ba29cff709Jordan Rose#jdwp_test_runtime_options += -Xint
2478541c433049322b27b4f437973076ba29cff709Jordan Rose#jdwp_test_runtime_options += -verbose:threads
254a529d26d6ccfc9b3d11031f1256f4f87055c562Andy Gibbsjdwp_test_timeout_ms := 10000 # 10s.
2678541c433049322b27b4f437973076ba29cff709Jordan Rose
2778541c433049322b27b4f437973076ba29cff709Jordan Rosejdwp_test_classpath_host := $(ANDROID_HOST_OUT)/framework/apache-harmony-jdwp-tests-hostdex.jar:$(ANDROID_HOST_OUT)/framework/junit-hostdex.jar
2878541c433049322b27b4f437973076ba29cff709Jordan Rosejdwp_test_classpath_target := /data/jdwp/apache-harmony-jdwp-tests.jar:/data/junit/junit-targetdex.jar
2978541c433049322b27b4f437973076ba29cff709Jordan Rose
3078541c433049322b27b4f437973076ba29cff709Jordan Rosejdwp_test_target_runtime_common_args :=  \
3178541c433049322b27b4f437973076ba29cff709Jordan Rose	-Djpda.settings.verbose=true \
3278541c433049322b27b4f437973076ba29cff709Jordan Rose	-Djpda.settings.syncPort=34016 \
3378541c433049322b27b4f437973076ba29cff709Jordan Rose	-Djpda.settings.timeout=$(jdwp_test_timeout_ms) \
3478541c433049322b27b4f437973076ba29cff709Jordan Rose	-Djpda.settings.waitingTime=$(jdwp_test_timeout_ms)
3578541c433049322b27b4f437973076ba29cff709Jordan Rose
3678541c433049322b27b4f437973076ba29cff709Jordan Rosejdwp_test_target_runtime_args :=  $(jdwp_test_target_runtime_common_args)
3778541c433049322b27b4f437973076ba29cff709Jordan Rosejdwp_test_target_runtime_args += -Djpda.settings.debuggeeJavaPath='$(jdwp_test_runtime_target) $(jdwp_test_runtime_options)'
3878541c433049322b27b4f437973076ba29cff709Jordan Rose
3978541c433049322b27b4f437973076ba29cff709Jordan Rosects_jdwp_test_target_runtime_args :=  $(jdwp_test_target_runtime_common_args)
4078541c433049322b27b4f437973076ba29cff709Jordan Rosects_jdwp_test_target_runtime_args += -Djpda.settings.debuggeeJavaPath='$(cts_jdwp_test_runtime_target) $(cts_jdwp_test_runtime_options)'
4178541c433049322b27b4f437973076ba29cff709Jordan Rose
4278541c433049322b27b4f437973076ba29cff709Jordan Roseinclude $(CLEAR_VARS)
4378541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_SRC_FILES := $(harmony_jdwp_test_src_files)
4478541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_JAVA_LIBRARIES := junit-targetdex
4578541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_MODULE_TAGS := optional
4678541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_MODULE := CtsJdwp
4778541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_NO_EMMA_INSTRUMENT := true
4878541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_NO_EMMA_COMPILE := true
4978541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_CTS_TEST_PACKAGE := android.jdwp
5078541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_CTS_TARGET_RUNTIME_ARGS := $(cts_jdwp_test_target_runtime_args)
5178541c433049322b27b4f437973076ba29cff709Jordan Roseinclude $(BUILD_CTS_TARGET_JAVA_LIBRARY)
5278541c433049322b27b4f437973076ba29cff709Jordan Rose
5378541c433049322b27b4f437973076ba29cff709Jordan Roseinclude $(CLEAR_VARS)
5478541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_SRC_FILES := $(harmony_jdwp_test_src_files)
5578541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_JAVA_LIBRARIES := junit-targetdex
5678541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_MODULE_TAGS := tests
5778541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_MODULE := apache-harmony-jdwp-tests
5878541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_NO_EMMA_INSTRUMENT := true
5978541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_NO_EMMA_COMPILE := true
6078541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/jdwp
6178541c433049322b27b4f437973076ba29cff709Jordan Roseinclude $(BUILD_JAVA_LIBRARY)
6278541c433049322b27b4f437973076ba29cff709Jordan Rose
6378541c433049322b27b4f437973076ba29cff709Jordan Roseinclude $(CLEAR_VARS)
6478541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_SRC_FILES := $(harmony_jdwp_test_src_files)
6578541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_JAVA_LIBRARIES := junit
6678541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_MODULE := apache-harmony-jdwp-tests-host
6778541c433049322b27b4f437973076ba29cff709Jordan Roseinclude $(BUILD_HOST_JAVA_LIBRARY)
6878541c433049322b27b4f437973076ba29cff709Jordan Rose
6978541c433049322b27b4f437973076ba29cff709Jordan Roseinclude $(CLEAR_VARS)
7078541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_SRC_FILES := $(harmony_jdwp_test_src_files)
7178541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_JAVA_LIBRARIES := junit-hostdex
7278541c433049322b27b4f437973076ba29cff709Jordan RoseLOCAL_MODULE := apache-harmony-jdwp-tests-hostdex
7378541c433049322b27b4f437973076ba29cff709Jordan Roseinclude $(BUILD_HOST_DALVIK_JAVA_LIBRARY)
7478541c433049322b27b4f437973076ba29cff709Jordan Rose
7578541c433049322b27b4f437973076ba29cff709Jordan Roseinclude $(call all-makefiles-under,$(LOCAL_PATH))
7678541c433049322b27b4f437973076ba29cff709Jordan Rose
7778541c433049322b27b4f437973076ba29cff709Jordan Rose# Waits for device to boot completely.
7878541c433049322b27b4f437973076ba29cff709Jordan Rosedefine wait-for-boot-complete
7978541c433049322b27b4f437973076ba29cff709Jordan Rose$(hide) echo "Wait for boot complete ..."
8078541c433049322b27b4f437973076ba29cff709Jordan Rose$(hide) while [ `adb wait-for-device shell getprop dev.bootcomplete | grep -c 1` -eq 0 ]; \
8178541c433049322b27b4f437973076ba29cff709Jordan Rosedo \
8278541c433049322b27b4f437973076ba29cff709Jordan Rose  sleep 1; \
8378541c433049322b27b4f437973076ba29cff709Jordan Rosedone
8478541c433049322b27b4f437973076ba29cff709Jordan Rose$(hide) echo "Boot complete"
8578541c433049322b27b4f437973076ba29cff709Jordan Roseendef
8678541c433049322b27b4f437973076ba29cff709Jordan Rose
8778541c433049322b27b4f437973076ba29cff709Jordan Rose# If this fails complaining about TestRunner, build "external/junit" manually.
8878541c433049322b27b4f437973076ba29cff709Jordan Rose.PHONY: run-jdwp-tests-target
8978541c433049322b27b4f437973076ba29cff709Jordan Roserun-jdwp-tests-target: $(TARGET_OUT_DATA)/jdwp/apache-harmony-jdwp-tests.jar $(TARGET_OUT_DATA)/junit/junit-targetdex.jar
9078541c433049322b27b4f437973076ba29cff709Jordan Rose	adb shell stop
9178541c433049322b27b4f437973076ba29cff709Jordan Rose	adb remount
9278541c433049322b27b4f437973076ba29cff709Jordan Rose	adb sync
9378541c433049322b27b4f437973076ba29cff709Jordan Rose	adb reboot
9478541c433049322b27b4f437973076ba29cff709Jordan Rose	$(call wait-for-boot-complete)
9578541c433049322b27b4f437973076ba29cff709Jordan Rose	adb shell $(jdwp_test_runtime_target) -cp $(jdwp_test_classpath_target) \
9678541c433049322b27b4f437973076ba29cff709Jordan Rose	  $(jdwp_test_target_runtime_args) \
9778541c433049322b27b4f437973076ba29cff709Jordan Rose          org.apache.harmony.jpda.tests.share.AllTests
9878541c433049322b27b4f437973076ba29cff709Jordan Rose
9978541c433049322b27b4f437973076ba29cff709Jordan Rose# If this fails complaining about TestRunner, build "external/junit" manually.
10078541c433049322b27b4f437973076ba29cff709Jordan Rose.PHONY: run-jdwp-tests-host
10178541c433049322b27b4f437973076ba29cff709Jordan Roserun-jdwp-tests-host: $(HOST_OUT_EXECUTABLES)/art $(HOST_OUT_JAVA_LIBRARIES)/apache-harmony-jdwp-tests-hostdex.jar $(HOST_OUT_JAVA_LIBRARIES)/junit-hostdex.jar
10278541c433049322b27b4f437973076ba29cff709Jordan Rose	$(jdwp_test_runtime_host) -cp $(jdwp_test_classpath_host) \
10378541c433049322b27b4f437973076ba29cff709Jordan Rose          -Djpda.settings.verbose=true \
10478541c433049322b27b4f437973076ba29cff709Jordan Rose          -Djpda.settings.syncPort=34016 \
10578541c433049322b27b4f437973076ba29cff709Jordan Rose          -Djpda.settings.debuggeeJavaPath="$(jdwp_test_runtime_host) $(jdwp_test_runtime_options)" \
10678541c433049322b27b4f437973076ba29cff709Jordan Rose          -Djpda.settings.timeout=$(jdwp_test_timeout_ms) \
10778541c433049322b27b4f437973076ba29cff709Jordan Rose          -Djpda.settings.waitingTime=$(jdwp_test_timeout_ms) \
10878541c433049322b27b4f437973076ba29cff709Jordan Rose          org.apache.harmony.jpda.tests.share.AllTests
10978541c433049322b27b4f437973076ba29cff709Jordan Rose
11078541c433049322b27b4f437973076ba29cff709Jordan Rose.PHONY: run-jdwp-tests-ri
1117c304f56eecbd03db7d222a05dfcd593750d50d3Jordan Roserun-jdwp-tests-ri: $(HOST_OUT_JAVA_LIBRARIES)/apache-harmony-jdwp-tests-host.jar $(HOST_OUT_JAVA_LIBRARIES)/junit.jar
11296e7813f08c6adf1d8657b0da86741b54e850fd7Rafael Espindola	java -cp $(HOST_OUT_JAVA_LIBRARIES)/apache-harmony-jdwp-tests-host.jar:$(HOST_OUT_JAVA_LIBRARIES)/junit.jar \
1137c304f56eecbd03db7d222a05dfcd593750d50d3Jordan Rose          -Djpda.settings.verbose=true \
114266dba3661928d26f043560b169bea87578aa917Andy Gibbs          -Djpda.settings.syncPort=34016 \
115266dba3661928d26f043560b169bea87578aa917Andy Gibbs          -Djpda.settings.debuggeeJavaPath=java \
1167c304f56eecbd03db7d222a05dfcd593750d50d3Jordan Rose          org.apache.harmony.jpda.tests.share.AllTests
117266dba3661928d26f043560b169bea87578aa917Andy Gibbs