diff options
author | Sebastien Hertz <shertz@google.com> | 2014-04-18 06:13:52 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-04-18 06:13:54 +0000 |
commit | 180a806d7bff38677c4ff3c33bd0e178c55afb2e (patch) | |
tree | d23118e2f72486813f0c0c216e4378e06a8dfadb | |
parent | 5b57837bde28fec00a557465fb988f50eb9d066d (diff) | |
parent | c707eb40c4f99474ffeedab17a5fd562a7808238 (diff) | |
download | apache-harmony-180a806d7bff38677c4ff3c33bd0e178c55afb2e.tar.gz |
Merge "Test METHOD_EXIT_WITH_RETURN_VALUE event on void method"
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); } } } |