summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Hertz <shertz@google.com>2014-04-18 06:13:52 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-04-18 06:13:54 +0000
commit180a806d7bff38677c4ff3c33bd0e178c55afb2e (patch)
treed23118e2f72486813f0c0c216e4378e06a8dfadb
parent5b57837bde28fec00a557465fb988f50eb9d066d (diff)
parentc707eb40c4f99474ffeedab17a5fd562a7808238 (diff)
downloadapache-harmony-180a806d7bff38677c4ff3c33bd0e178c55afb2e.tar.gz
Merge "Test METHOD_EXIT_WITH_RETURN_VALUE event on void method"
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/Packet.java3
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueDebuggee.java9
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueTest.java13
3 files changed, 25 insertions, 0 deletions
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/Packet.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/Packet.java
index b2a55e7..22e62d2 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/Packet.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/Packet.java
@@ -1111,6 +1111,9 @@ public class Packet {
case JDWPConstants.Tag.THREAD_TAG:
value = new Value(tag, this.getNextValueAsObjectID());
break;
+ case JDWPConstants.Tag.VOID_TAG:
+ // no bytes to read.
+ break;
default:
throw new TestErrorException("Illegal tag value = " + tag);
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueDebuggee.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueDebuggee.java
index c112626..e8dbb29 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueDebuggee.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueDebuggee.java
@@ -53,6 +53,8 @@ public class MethodExitWithReturnValueDebuggee extends SyncDebuggee {
public static final Object EXPECTED_OBJECT = new MethodExitWithReturnValueDebuggee();
+ public static final String VOID_TYPE = "VOID";
+
public static void main(String[] args) {
runDebuggee(MethodExitWithReturnValueDebuggee.class);
}
@@ -90,6 +92,10 @@ public class MethodExitWithReturnValueDebuggee extends SyncDebuggee {
logWriter.println("--> calling doubleMethod()");
return EXPECTED_DOUBLE;
}
+
+ public void voidMethod() {
+ logWriter.println("--> calling voidMethod()");
+ }
public void run() {
logWriter.println("--> MethodExitWithReturnValueDebuggee started");
@@ -118,6 +124,9 @@ public class MethodExitWithReturnValueDebuggee extends SyncDebuggee {
}else if(type.equals(DOUBLE_TYPE)){
double d = doubleMethod();
logWriter.println("--> doubleMethod() is invoked, return value:" + d);
+ } else if (type.equals(VOID_TYPE)) {
+ voidMethod();
+ logWriter.println("--> voidMethod() is invoked");
}else if(type.equals(EXCEPTION_TYPE)){
try {
MockExceptionMethodClass.exceptionMethod();
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueTest.java
index 9b7595c..1313f41 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/Events/MethodExitWithReturnValueTest.java
@@ -135,6 +135,16 @@ public class MethodExitWithReturnValueTest extends JDWPEventTestCase {
runMethodExitWithReturn(MethodExitWithReturnValueDebuggee.DOUBLE_TYPE);
}
+ /**
+ * This testcase is for METHOD_EXIT_WITH_RETURN_VALUE event. <BR>
+ * It runs MethodExitWithReturnValueDebuggee that executed own voidMethod.
+ * It then verify that requested METHOD_EXIT_WITH_RETURN_VALUE event occurs
+ * and there is no returned value.
+ */
+ public void testMethodExitWithReturnValueOfVoid() {
+ runMethodExitWithReturn(MethodExitWithReturnValueDebuggee.VOID_TYPE);
+ }
+
/*
* Internal function used to receive MethodExitWithReturnValue event.
@@ -210,6 +220,9 @@ public class MethodExitWithReturnValueTest extends JDWPEventTestCase {
logWriter.println("==> CHECK: doubleMethod() is invoked, return value:" + d);
assertEquals("Invalid return value,",
MethodExitWithReturnValueDebuggee.EXPECTED_DOUBLE, d);
+ } else if (type.equals(MethodExitWithReturnValueDebuggee.VOID_TYPE)) {
+ logWriter.println("==> CHECK: voidMethod() is invoked");
+ assertEquals("Invalid return value,", null, value);
}
}
}