summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland Levillain <rpl@google.com>2016-05-26 14:50:45 +0100
committerRoland Levillain <rpl@google.com>2016-05-26 15:57:21 +0100
commit25d0ba6cfaa67354e1dd47ce156ca56a815f5fd0 (patch)
treeb400cbcee2c0cde64cba8bbd729a1030c6bf1e50
parent52a5d0457041a5a5dc2dd8c4b44d2c583cce5350 (diff)
downloadapache-harmony-nougat-dev.tar.gz
Avoid conflicts between default JDWP sync port and transport address.nougat-dev
Establish the JDWP transport connection before binding the sync socket, so that when the sync port is chosen by the OS, the latter won't interfere with the transport address. (cherry picked from commit dc011649298aefaae12c8cda3c0efe282b2383e1) Bug: 28927931 Bug: 28869570 Change-Id: Icb4a011f84ecb83dc9a170441ab55f33d4a33523
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/TestOptions.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/SocketTransportWrapper.java17
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/DebuggerOnDemand/LaunchedDebugger.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/AttachConnectorTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/BreakpointTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassObjectIDTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassPrepareTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/EnableCollectionTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ExceptionTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldAccessTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldModificationTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ListenConnectorTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/MethodEntryExitTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/RefTypeIDTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ResumeTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/SingleStepTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadEndTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadStartTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/VMDeathTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/VirtualMachine/ExitTest.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPSyncTestCase.java4
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPTestCase.java29
-rw-r--r--jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPUnitDebuggeeWrapper.java31
23 files changed, 98 insertions, 59 deletions
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/TestOptions.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/TestOptions.java
index dec2841..7bc97a5 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/TestOptions.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/TestOptions.java
@@ -372,8 +372,8 @@ public class TestOptions {
/**
* Returns TCP/IP port for synchronization channel.
- *
- * @return string with port number or null
+ *
+ * @return port number if it is set, or DEFAULT_SYNC_PORT otherwise.
*/
public int getSyncPortNumber() {
String buf = getSyncPortString();
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/SocketTransportWrapper.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/SocketTransportWrapper.java
index 71c97ca..2e45529 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/SocketTransportWrapper.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/SocketTransportWrapper.java
@@ -39,7 +39,7 @@ import org.apache.harmony.jpda.tests.framework.jdwp.Packet;
/**
* This class provides TransportWrapper for row TCP/IP socket connection.
- *
+ *
*/
public class SocketTransportWrapper implements TransportWrapper {
@@ -52,9 +52,12 @@ public class SocketTransportWrapper implements TransportWrapper {
/**
* Starts listening for connection on given or default address.
- *
- * @param address address to listen or null for default address
- * @return string representation of listening address
+ *
+ * @param address
+ * address to listen to or null for default address,
+ * parsed as "hostname:port" or "port", if it contains
+ * no semi-colon.
+ * @return string representation of listening address
*/
public String startListening(String address) throws IOException {
String hostName = null;
@@ -82,7 +85,7 @@ public class SocketTransportWrapper implements TransportWrapper {
} else {
serverSocket = new ServerSocket(port);
}
-
+
// use as workaround for unspecified behaviour of isAnyLocalAddress()
InetAddress iAddress = null;
if (hostName != null) {
@@ -90,11 +93,11 @@ public class SocketTransportWrapper implements TransportWrapper {
} else {
iAddress = InetAddress.getLocalHost();
}
-
+
address = iAddress.getHostName() + ":" + serverSocket.getLocalPort();
return address;
}
-
+
/**
* Stops listening for connection on current address.
*/
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/DebuggerOnDemand/LaunchedDebugger.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/DebuggerOnDemand/LaunchedDebugger.java
index d50d3f4..08ce1f8 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/DebuggerOnDemand/LaunchedDebugger.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/DebuggerOnDemand/LaunchedDebugger.java
@@ -52,14 +52,14 @@ public abstract class LaunchedDebugger extends JDWPTestCase {
* It forces to use attaching connector and fixed transport address.
*/
/*
- protected void beforeDebuggeeStart(JDWPOnDemandDebuggeeWrapper debugeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(JPDADebuggerOnDemandOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("DEBUGGER: Use ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
*/
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/AttachConnectorTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/AttachConnectorTest.java
index c03dfca..f06b516 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/AttachConnectorTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/AttachConnectorTest.java
@@ -101,12 +101,12 @@ public class AttachConnectorTest extends JDWPSyncTestCase {
logWriter.println("==> testAttachConnector001 PASSED!");
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/BreakpointTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/BreakpointTest.java
index 95e0ea0..e108ade 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/BreakpointTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/BreakpointTest.java
@@ -128,12 +128,12 @@ public class BreakpointTest extends JDWPSyncTestCase {
}
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassObjectIDTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassObjectIDTest.java
index 1aa4e45..97de978 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassObjectIDTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassObjectIDTest.java
@@ -89,12 +89,12 @@ public class ClassObjectIDTest extends JDWPSyncTestCase {
synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE);
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassPrepareTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassPrepareTest.java
index 8ca45d9..75b14f0 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassPrepareTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ClassPrepareTest.java
@@ -130,12 +130,12 @@ public class ClassPrepareTest extends JDWPEventTestCase {
logWriter.println("==> testClassPrepare001 PASSED!");
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/EnableCollectionTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/EnableCollectionTest.java
index c2b1e2d..f9b8abe 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/EnableCollectionTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/EnableCollectionTest.java
@@ -147,12 +147,12 @@ public class EnableCollectionTest extends JDWPSyncTestCase {
logWriter.println("==> testEnableCollection001 PASSED!");
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ExceptionTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ExceptionTest.java
index 883f965..3f63819 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ExceptionTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ExceptionTest.java
@@ -131,12 +131,12 @@ public class ExceptionTest extends JDWPEventTestCase {
logWriter.println("==> testException001 PASSED!");
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldAccessTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldAccessTest.java
index 158dd8a..6cafc9e 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldAccessTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldAccessTest.java
@@ -126,12 +126,12 @@ public class FieldAccessTest extends JDWPEventTestCase {
logWriter.println("==> testFieldAccess001 PASSED!");
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldModificationTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldModificationTest.java
index 9b63b6d..5e3fd0a 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldModificationTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/FieldModificationTest.java
@@ -127,12 +127,12 @@ public class FieldModificationTest extends JDWPEventTestCase {
logWriter.println("==> testFieldModification001 PASSED!");
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ListenConnectorTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ListenConnectorTest.java
index b977f35..284e677 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ListenConnectorTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ListenConnectorTest.java
@@ -45,10 +45,10 @@ public class ListenConnectorTest extends JDWPSyncTestCase {
/**
* Sets kind of connection: listen kind.
*/
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setListenConnectorKind();
logWriter.println("LISTEN connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
/**
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/MethodEntryExitTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/MethodEntryExitTest.java
index ce0be25..2dc80d0 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/MethodEntryExitTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/MethodEntryExitTest.java
@@ -139,12 +139,12 @@ public class MethodEntryExitTest extends JDWPSyncTestCase {
}
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if(settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/RefTypeIDTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/RefTypeIDTest.java
index 9013d55..9d70592 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/RefTypeIDTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/RefTypeIDTest.java
@@ -90,12 +90,12 @@ public class RefTypeIDTest extends JDWPSyncTestCase {
synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE);
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ResumeTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ResumeTest.java
index c060791..ac31faf 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ResumeTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ResumeTest.java
@@ -70,12 +70,12 @@ public class ResumeTest extends JDWPSyncTestCase {
logWriter.println("TEST PASSED");
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/SingleStepTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/SingleStepTest.java
index 2924030..72df3b6 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/SingleStepTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/SingleStepTest.java
@@ -180,12 +180,12 @@ public class SingleStepTest extends JDWPSyncTestCase {
logWriter.println("==> testSingleStep001 PASSED!");
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadEndTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadEndTest.java
index df6df7c..84259b0 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadEndTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadEndTest.java
@@ -121,12 +121,12 @@ public class ThreadEndTest extends JDWPEventTestCase {
}
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadStartTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadStartTest.java
index 3a7359f..3bb54cd 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadStartTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/ThreadStartTest.java
@@ -125,12 +125,12 @@ public class ThreadStartTest extends JDWPEventTestCase {
}
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/VMDeathTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/VMDeathTest.java
index d63740f..6a6de6c 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/VMDeathTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/MultiSession/VMDeathTest.java
@@ -150,12 +150,12 @@ public class VMDeathTest extends JDWPSyncTestCase {
logWriter.println("==> test PASSED!");
}
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
settings.setAttachConnectorKind();
if (settings.getTransportAddress() == null) {
settings.setTransportAddress(TestOptions.DEFAULT_ATTACHING_ADDRESS);
}
logWriter.println("ATTACH connector kind");
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeConnectionSetUp();
}
}
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/VirtualMachine/ExitTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/VirtualMachine/ExitTest.java
index e1f0d5a..d21ef57 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/VirtualMachine/ExitTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/VirtualMachine/ExitTest.java
@@ -45,10 +45,10 @@ public class ExitTest extends JDWPTestCase {
}
@Override
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeDebuggeeStart() {
// Indicate that we expect the debuggee to exit with a particular code.
debuggeeWrapper.setExpectedExitCode(EXIT_CODE);
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeDebuggeeStart();
}
/**
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPSyncTestCase.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPSyncTestCase.java
index 8dbe400..5caf5c6 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPSyncTestCase.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPSyncTestCase.java
@@ -40,11 +40,11 @@ public abstract class JDWPSyncTestCase extends JDWPTestCase {
/**
* This method is invoked right before starting debuggee VM.
*/
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeDebuggeeStart() {
synchronizer = createSynchronizer();
int port = synchronizer.bindServer();
debuggeeWrapper.savedVMOptions = "-Djpda.settings.syncPort=" + port;
- super.beforeDebuggeeStart(debuggeeWrapper);
+ super.beforeDebuggeeStart();
}
/**
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPTestCase.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPTestCase.java
index 86e776c..47d2a2b 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPTestCase.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPTestCase.java
@@ -57,7 +57,9 @@ public abstract class JDWPTestCase extends JDWPRawTestCase {
// launch debuggee process
debuggeeWrapper = createDebuggeeWrapper();
- beforeDebuggeeStart(debuggeeWrapper);
+ beforeConnectionSetUp();
+ setUpDebuggeeWrapperConnection();
+ beforeDebuggeeStart();
startDebuggeeWrapper();
// receive and handle initial event
@@ -80,19 +82,27 @@ public abstract class JDWPTestCase extends JDWPRawTestCase {
}
/**
+ * Set up server side JDWP connection.
+ */
+ protected void setUpDebuggeeWrapperConnection() {
+ debuggeeWrapper.setUpConnection();
+ logWriter.println("Set up server side JDWP connection.");
+ }
+
+ /**
* Starts wrapper for debuggee process.
*/
protected void startDebuggeeWrapper() {
- debuggeeWrapper.start();
+ debuggeeWrapper.start();
logWriter.println("Established JDWP connection with debuggee VM");
}
-
+
/**
* Receives initial VM_INIT event if debuggee is suspended on event.
*/
protected void receiveInitialEvent() {
if (settings.isDebuggeeSuspend()) {
- initialEvent =
+ initialEvent =
debuggeeWrapper.vmMirror.receiveCertainEvent(JDWPConstants.EventKind.VM_INIT);
logWriter.println("Received inital VM_INIT event");
}
@@ -111,10 +121,17 @@ public abstract class JDWPTestCase extends JDWPRawTestCase {
}
/**
- * This method is invoked right before starting debuggee VM.
+ * This method is invoked right before setting up the server side JDWP connection.
*/
- protected void beforeDebuggeeStart(JDWPUnitDebuggeeWrapper debuggeeWrapper) {
+ protected void beforeConnectionSetUp() {
+ // Empty.
+ }
+ /**
+ * This method is invoked right before starting debuggee VM.
+ */
+ protected void beforeDebuggeeStart() {
+ // Empty.
}
/**
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPUnitDebuggeeWrapper.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPUnitDebuggeeWrapper.java
index 70b4c1a..fe31b59 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPUnitDebuggeeWrapper.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPUnitDebuggeeWrapper.java
@@ -43,11 +43,25 @@ public class JDWPUnitDebuggeeWrapper extends JDWPUnitDebuggeeProcessWrapper {
*/
public String savedVMOptions = null;
+ /**
+ * Wrapper around JDWP transport connection.
+ */
protected TransportWrapper transport;
/**
+ * JDWP transport address.
+ */
+ protected String address;
+
+ /**
+ * Is this a "listen" JDWP connection? (If false, it is a an "attach" connection.)
+ */
+ boolean isListenConnection;
+
+
+ /**
* Creates new instance with given data.
- *
+ *
* @param settings
* test run options
* @param logWriter
@@ -58,13 +72,12 @@ public class JDWPUnitDebuggeeWrapper extends JDWPUnitDebuggeeProcessWrapper {
}
/**
- * Launches new debuggee process according to test run options and
- * establishes JDWP connection.
+ * Set up server side JDWP connection before launching the debuggee.
*/
- public void start() {
- boolean isListenConnection = settings.isListenConnectorKind();
+ public void setUpConnection() {
+ isListenConnection = settings.isListenConnectorKind();
transport = createTransportWrapper();
- String address = settings.getTransportAddress();
+ address = settings.getTransportAddress();
if (isListenConnection) {
logWriter.println("Start listening on: " + address);
@@ -77,7 +90,13 @@ public class JDWPUnitDebuggeeWrapper extends JDWPUnitDebuggeeProcessWrapper {
} else {
logWriter.println("Attach to: " + address);
}
+ }
+ /**
+ * Launches new debuggee process according to test run options and
+ * establishes JDWP connection.
+ */
+ public void start() {
String cmdLine = settings.getDebuggeeJavaPath() + " -cp \""
+ settings.getDebuggeeClassPath() + "\" -agentlib:"
+ settings.getDebuggeeAgentName() + "="