Browse Source

Removing unused classes

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271036 13f79535-47bb-0310-9956-ffa450edef68
master
Stephane Bailliez 23 years ago
parent
commit
6ab8acfe1b
5 changed files with 1 additions and 667 deletions
  1. +0
    -170
      proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
  2. +1
    -1
      proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/formatter/XMLFormatter.java
  3. +0
    -101
      proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/remote/MessageIds.java
  4. +0
    -243
      proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/remote/MessageReader.java
  5. +0
    -152
      proposal/sandbox/junit/src/main/org/apache/tools/ant/taskdefs/optional/junit/remote/MessageWriter.java

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

@@ -1,170 +0,0 @@
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Ant", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.tools.ant.taskdefs.optional.junit;

import org.apache.avalon.excalibur.i18n.ResourceManager;
import org.apache.avalon.excalibur.i18n.Resources;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;

/**
* The core JUnit task.
*
* @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
*/
public class JUnitTask extends Task {

private final static Resources RES =
ResourceManager.getPackageResources(JUnitTask.class);

/** port to run the server on */
private int port = -1;

/** timeout period in ms */
private long timeout = -1;

/** client configuraiton element */
private ClientElement client = null;

/** server configuration element */
private ServerElement server = null;

// task implementation

public void execute() throws BuildException {
if (client == null && server == null) {
throw new BuildException("Invalid state: need to be server, client or both");
}

// 1) server and client
if (server != null && client != null) {
ServerWorker worker = new ServerWorker();
worker.start();
client.execute();
Exception caught = null;
try {
worker.join();
caught = worker.getException();
} catch (InterruptedException e){
caught = e;
}
if (caught != null){
throw new BuildException(caught);
}
return;
}

// 2) server only (waiting for client)
if (server != null && client == null) {
server.execute();
return;
}

// 3) client only (connecting to server)
if (server == null && client != null) {
client.execute();
return;
}
}

// Ant bean accessors

public void setPort(int port) {
this.port = port;
}

public void setTimeout(long timeout) {
this.timeout = timeout;
}

/**
* create a new client in charge of running tests and sending
* the results to the server that collect them.
*/
public ClientElement createClient() {
if (client == null) {
client = new ClientElement(this);
}
return client;
}

/**
* create a new client in charge of running tests and sending
* the results to the server that collect them.
*/
public ServerElement createServer() {
if (server == null) {
server = new ServerElement(this);
}
return server;
}


/** the worker to run the server on */
class ServerWorker extends Thread {
private Exception caught = null;

public void run() {
try {
server.execute();
} catch (Exception e) {
caught = e;
}
}

public Exception getException() {
return caught;
}
}
}

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

@@ -167,7 +167,7 @@ public class XMLFormatter extends BaseStreamFormatter {
} }


public void onTestFailure(TestRunEvent evt) { public void onTestFailure(TestRunEvent evt) {
String type = evt == evt.getType() == TestRunEvent.TEST_FAILURE ? FAILURE : ERROR;
String type = evt.getType() == TestRunEvent.TEST_FAILURE ? FAILURE : ERROR;
Element nested = doc.createElement(type); Element nested = doc.createElement(type);
Element currentTest = (Element) testElements.get(evt.getName()); Element currentTest = (Element) testElements.get(evt.getName());
currentTest.appendChild(nested); currentTest.appendChild(nested);


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

@@ -1,101 +0,0 @@
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Ant", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.tools.ant.taskdefs.optional.junit.remote;


/**
* A set of messages identifiers to be used for communication
* between server/client(TestRunner).
*
* <i>
* This code is based on the code from Erich Gamma made for the
* JUnit plugin for <a href="http://www.eclipse.org">Eclipse</a> and is
* merged with code originating from Ant 1.4.x.
* </i>
*
* @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
*/
public interface MessageIds {
int MSG_HEADER_LENGTH = 8;

// messages send by TestRunServer
String TRACE_START = "%TRACES ";
String TRACE_END = "%TRACEE ";

// a line printed on stdout
String STDOUT_START = "%STDOUTS";
String STDOUT_END = "%STDOUTE";

// a line printed on stderr
String STDERR_START = "%STDERRS";
String STDERR_END = "%STDERRE";

// JVM system properties used in the VM
String PROPS_START = "%SYSPROS";
String PROPS_END = "%SYSPROE";

// test run started...
String TEST_COUNT = "%TESTC ";
// a test just started
String TEST_START = "%TESTS ";
// a test is finished
String TEST_END = "%TESTE ";
String TEST_ERROR = "%ERROR ";
String TEST_FAILED = "%FAILED ";
String TEST_ELAPSED_TIME = "%RUNTIME";
String TEST_STOPPED = "%TSTSTP ";

// messages understood by the Server
String TEST_STOP = ">STOP ";
}

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

@@ -1,243 +0,0 @@
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Ant", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.tools.ant.taskdefs.optional.junit.remote;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
import java.util.Vector;

import org.apache.tools.ant.taskdefs.optional.junit.TestRunListener;

/**
* Read and dispatch messages received via an input stream.
* The inputstream should be the connection to the remote client.
* <p>
* All messages are dispatched to the registered listeners.
* </p>
* <i>
* This code is based on the code from Erich Gamma made for the
* JUnit plugin for <a href="http://www.eclipse.org">Eclipse</a> and is
* merged with code originating from Ant 1.4.x.
* </i>
*
* @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
*/
public class MessageReader {

/** the set of registered listeners */
private Vector listeners = new Vector();

// communication states with client
private boolean inReadTrace = false;
private boolean inFailedMessage = false;
private String failedTest;
private String failedMessage;
private String failedTrace;
private int failureKind;
private long elapsedTime;
private Properties sysprops;

public MessageReader() {
}

/**
* Add a new listener.
* @param listener a listener that will receive events from the client.
*/
public void addListener(TestRunListener listener) {
listeners.addElement(listener);
}

public void removeListener(TestRunListener listener) {
listeners.removeElement(listener);
}

/**
* Read a complete stream from a client, it will only return
* once the connection is stopped. You'd better not reuse
* an instance of this class since there are instance variables used
* to keep track of the client state.
* @param in the inputstream to the client.
*/
public void process(InputStream in) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF8"));
String line;
while ((line = reader.readLine()) != null) {
processMessage(line);
}
}

/**
* Process a message from the client and dispatch the
* appropriate message to the listeners.
*/
protected void processMessage(String message) {
if (message == null) {
return;
}

String arg = message.substring(MessageIds.MSG_HEADER_LENGTH);
if (message.startsWith(MessageIds.TRACE_START)) {
failedTrace = arg.substring(0, arg.indexOf(MessageIds.TRACE_END));
failedTrace = new String(Base64.decode(failedTrace.getBytes()));
notifyTestFailed(failureKind, failedTest, failedTrace);
return;
}

if (message.startsWith(MessageIds.TEST_COUNT)) {
int count = Integer.parseInt(arg);
notifyTestSuiteStarted(count);
return;
}
if (message.startsWith(MessageIds.TEST_START)) {
notifyTestStarted(arg);
return;
}
if (message.startsWith(MessageIds.TEST_END)) {
notifyTestEnded(arg);
return;
}
if (message.startsWith(MessageIds.TEST_ERROR)) {
failedTest = arg;
failureKind = TestRunListener.STATUS_ERROR;
return;
}
if (message.startsWith(MessageIds.TEST_FAILED)) {
failedTest = arg;
failureKind = TestRunListener.STATUS_FAILURE;
return;
}
if (message.startsWith(MessageIds.TEST_ELAPSED_TIME)) {
elapsedTime = Long.parseLong(arg);
notifyTestSuiteEnded(elapsedTime);
return;
}
if (message.startsWith(MessageIds.TEST_STOPPED)) {
elapsedTime = Long.parseLong(arg);
notifyTestSuiteStopped(elapsedTime);
return;
}
if (message.startsWith(MessageIds.PROPS_START)) {
try {
byte[] bytes = arg.substring(0, arg.indexOf(MessageIds.PROPS_END)).getBytes();
bytes = Base64.decode(bytes);
sysprops = (Properties) SocketUtil.deserialize(bytes);
notifyTestSystemProperties(sysprops);
} catch (Exception e) {
// ignore now
e.printStackTrace();
}
}
}

protected void notifyTestStarted(String testname) {
synchronized (listeners) {
for (int i = 0; i < listeners.size(); i++) {
((TestRunListener) listeners.elementAt(i)).onTestStarted(testname);
}
}
}

protected void notifyTestEnded(String testname) {
synchronized (listeners) {
for (int i = 0; i < listeners.size(); i++) {
((TestRunListener) listeners.elementAt(i)).onTestEnded(testname);
}
}
}

protected void notifyTestFailed(int kind, String testname, String trace) {
synchronized (listeners) {
for (int i = 0; i < listeners.size(); i++) {
((TestRunListener) listeners.elementAt(i)).onTestFailure(kind);
}
}
}

protected void notifyTestSuiteStarted(int count) {
synchronized (listeners) {
for (int i = 0; i < listeners.size(); i++) {
((TestRunListener) listeners.elementAt(i)).onRunStarted(count);
}
}
}

protected void notifyTestSuiteEnded(long elapsedtime) {
synchronized (listeners) {
for (int i = 0; i < listeners.size(); i++) {
((TestRunListener) listeners.elementAt(i)).onRunEnded(elapsedtime);
}
}
}

protected void notifyTestSuiteStopped(long elapsedtime) {
synchronized (listeners) {
for (int i = 0; i < listeners.size(); i++) {
((TestRunListener) listeners.elementAt(i)).onRunStopped(elapsedtime);
}
}
}

protected void notifyTestSystemProperties(Properties props) {
synchronized (listeners) {
for (int i = 0; i < listeners.size(); i++) {
((TestRunListener) listeners.elementAt(i)).onTestRunSystemProperties(props);
}
}
}

}

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

@@ -1,152 +0,0 @@
/*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2002 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Ant", and "Apache Software
* Foundation" must not be used to endorse or promote products derived
* from this software without prior written permission. For written
* permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.tools.ant.taskdefs.optional.junit.remote;

import java.io.OutputStream;
import java.io.PrintWriter;

import org.apache.tools.ant.taskdefs.optional.junit.TestRunListener;

/**
* A wrapper that sends string messages to a given stream.
*
* <i>
* This code is based on the code from Erich Gamma made for the
* JUnit plugin for <a href="http://www.eclipse.org">Eclipse</a> and is
* merged with code originating from Ant 1.4.x.
* </i>
*
* @author <a href="mailto:sbailliez@apache.org">Stephane Bailliez</a>
*/
public class MessageWriter implements MessageIds {

private PrintWriter pw;

public MessageWriter(OutputStream out) {
this.pw = new PrintWriter(out, true);
}

protected void finalize() {
close();
}

public void close() {
if (pw != null) {
pw.close();
pw = null;
}
}

public void sendMessage(String msg) {
pw.println(msg);
}

// -------- notifier helper methods

public void notifyTestRunStarted(int testCount) {
sendMessage(MessageIds.TEST_COUNT + testCount);
}

public void notifyTestRunEnded(long elapsedTime) {
sendMessage(MessageIds.TEST_ELAPSED_TIME + elapsedTime);
}

public void notifyTestRunStopped(long elapsedTime) {
sendMessage(MessageIds.TEST_STOPPED + elapsedTime);
}

public void notifyTestStarted(String testName) {
sendMessage(MessageIds.TEST_START + testName);
}

public void notifyTestEnded(String testName) {
sendMessage(MessageIds.TEST_END + testName);
}

public void notifyTestFailed(int status, String testName, String trace) {
if (status == TestRunListener.STATUS_FAILURE) {
sendMessage(MessageIds.TEST_FAILED + testName);
} else {
sendMessage(MessageIds.TEST_ERROR + testName);
}
sendMessage(MessageIds.TRACE_START + new String(Base64.encode(trace.getBytes())) + MessageIds.TRACE_END);
}

public void notifyStdOutLine(String testname, String line) {
sendMessage(MessageIds.STDOUT_START);
sendMessage(line);
sendMessage(MessageIds.STDOUT_END);
}

public void notifyStdErrLine(String testname, String line) {
sendMessage(MessageIds.STDERR_START);
sendMessage(line);
sendMessage(MessageIds.STDERR_END);
}

public void notifySystemProperties() {
try {
StringBuffer msg = new StringBuffer(512);
msg.append(MessageIds.PROPS_START);
byte[] data = SocketUtil.serialize(System.getProperties());
msg.append(Base64.encode(data));
msg.append(MessageIds.PROPS_END);
sendMessage(msg.toString());
} catch (Exception e) {
// ignore
e.printStackTrace();
}
}

}

Loading…
Cancel
Save