Browse Source

Socket error occurs when running multiple times...there must be something

wrong with the shutdown


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271042 13f79535-47bb-0310-9956-ffa450edef68
master
Stephane Bailliez 23 years ago
parent
commit
62ff30c775
4 changed files with 25 additions and 6 deletions
  1. +1
    -0
      proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/RJUnitTask.java
  2. +9
    -2
      proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/ServerElement.java
  3. +4
    -4
      proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/remote/Messenger.java
  4. +11
    -0
      proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/remote/Server.java

+ 1
- 0
proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/RJUnitTask.java View File

@@ -158,6 +158,7 @@ public class RJUnitTask extends Task {
public void run() {
try {
server.execute();
System.out.println("PANIC !!!!!!");
} catch (Exception e) {
caught = e;
}


+ 9
- 2
proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/ServerElement.java View File

@@ -90,6 +90,8 @@ public final class ServerElement extends ProjectComponent {
/** the parent task */
private RJUnitTask parent;

private Server server;

/** create a new server */
public ServerElement(RJUnitTask value) {
parent = value;
@@ -98,7 +100,7 @@ public final class ServerElement extends ProjectComponent {
/** start the server and block until client has finished */
public void execute() throws BuildException {
// configure the server...
Server server = new Server(port);
server = new Server(port);
Enumeration listeners = formatterElements.elements();
while (listeners.hasMoreElements()) {
FormatterElement fe = (FormatterElement)listeners.nextElement();
@@ -106,7 +108,12 @@ public final class ServerElement extends ProjectComponent {
server.addListener( formatter );
}
// and run it. It will stop once a client has finished.
server.start();
try {
server.start(true);
server.shutdown();
} catch (InterruptedException e){
throw new BuildException(e);
}
}

/** set the port to listen to */


+ 4
- 4
proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/remote/Messenger.java View File

@@ -79,15 +79,15 @@ public class Messenger {
}

public void close() throws IOException {
if (in != null) {
in.close();
in = null;
}
if (out != null) {
out.flush();
out.close();
out = null;
}
if (in != null) {
in.close();
in = null;
}
}

public TestRunEvent read() throws Exception {


+ 11
- 0
proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/remote/Server.java View File

@@ -117,8 +117,19 @@ public class Server {

/** start a server to the specified port */
public void start() {
try {
start(false);
} catch (InterruptedException e){
}
}

/** start a server to the specified port and wait for end */
public void start(boolean flag) throws InterruptedException {
Worker worker = new Worker();
worker.start();
if (flag){
worker.join();
}
}

/** cancel the connection to the client */


Loading…
Cancel
Save