git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271041 13f79535-47bb-0310-9956-ffa450edef68master
@@ -56,6 +56,9 @@ package org.apache.tools.ant.taskdefs.optional.junit; | |||
import java.util.Properties; | |||
import java.util.Vector; | |||
import org.apache.tools.ant.taskdefs.optional.junit.remote.TestRunEvent; | |||
import org.apache.tools.ant.taskdefs.optional.junit.remote.TestRunListener; | |||
/** | |||
* A TestRunListener that stores all events for later check. | |||
* | |||
@@ -68,73 +71,46 @@ import java.util.Vector; | |||
*/ | |||
public class TestRunRecorder implements TestRunListener { | |||
/** wrapper around failure info */ | |||
public static class TestFailedInfo { | |||
public int status; | |||
public String testname; | |||
public String trace; | |||
} | |||
/** wrapper around output info */ | |||
public static class TestOutputInfo { | |||
public String testname; | |||
public String line; | |||
} | |||
// all these are public in order for testcases to have access quickly | |||
public Vector testStarted = new Vector(); | |||
public Vector testEnded = new Vector(); | |||
public Vector testFailed = new Vector(); | |||
public Vector testStdout = new Vector(); | |||
public Vector testStderr = new Vector(); | |||
public Vector sysprops = new Vector(); | |||
public Vector testError = new Vector(); | |||
public Vector runStarted = new Vector(); | |||
public Vector runEnded = new Vector(); | |||
public Vector runStopped = new Vector(); | |||
public void onTestStarted(String testname) { | |||
testStarted.addElement(testname); | |||
public void onTestStarted(TestRunEvent evt) { | |||
testStarted.addElement(evt); | |||
} | |||
public void onTestEnded(String testname) { | |||
testEnded.addElement(testname); | |||
public void onTestEnded(TestRunEvent evt) { | |||
testEnded.addElement(evt); | |||
} | |||
public void onTestFailed(int status, String testname, String trace) { | |||
TestFailedInfo info = new TestFailedInfo(); | |||
info.status = status; | |||
info.testname = testname; | |||
info.trace = trace; | |||
testFailed.addElement(info); | |||
public void onTestFailure(TestRunEvent evt) { | |||
testFailed.addElement(evt); | |||
} | |||
public void onTestStdOutLine(String testname, String line) { | |||
TestOutputInfo info = new TestOutputInfo(); | |||
info.testname = testname; | |||
info.line = line; | |||
testStdout.addElement(info); | |||
public void onRunStarted(TestRunEvent evt) { | |||
runStarted.addElement(evt); | |||
} | |||
public void onTestStdErrLine(String testname, String line) { | |||
TestOutputInfo info = new TestOutputInfo(); | |||
info.testname = testname; | |||
info.line = line; | |||
testStderr.addElement(info); | |||
public void onRunEnded(TestRunEvent evt) { | |||
runEnded.addElement(evt); | |||
} | |||
public void onTestRunSystemProperties(Properties props) { | |||
sysprops.addElement(props); | |||
public void onRunStopped(TestRunEvent evt) { | |||
runStopped.addElement(evt); | |||
} | |||
public void onTestRunStarted(int testcount) { | |||
runStarted.addElement(new Integer(testcount)); | |||
public void onSuiteStarted(TestRunEvent evt) { | |||
} | |||
public void onTestRunEnded(long elapsedtime) { | |||
runEnded.addElement(new Long(elapsedtime)); | |||
public void onSuiteEnded(TestRunEvent evt) { | |||
} | |||
public void onTestRunStopped(long elapsedtime) { | |||
runStopped.addElement(new Long(elapsedtime)); | |||
public void onTestError(TestRunEvent evt) { | |||
testError.addElement( evt ); | |||
} | |||
} |
@@ -62,7 +62,7 @@ import java.util.Properties; | |||
import junit.framework.TestCase; | |||
import org.apache.tools.ant.taskdefs.optional.junit.TestRunListener; | |||
import org.apache.tools.ant.taskdefs.optional.junit.remote.TestRunListener; | |||
import org.apache.tools.ant.taskdefs.optional.junit.TestRunRecorder; | |||
/** | |||
@@ -72,11 +72,7 @@ import org.apache.tools.ant.taskdefs.optional.junit.TestRunRecorder; | |||
*/ | |||
public class MessageReaderTest extends TestCase { | |||
protected ByteArrayOutputStream out; | |||
protected MessageReader reader; | |||
protected MessageWriter writer; | |||
private EventDispatcher dispatcher; | |||
protected TestRunRecorder recorder; | |||
@@ -85,65 +81,57 @@ public class MessageReaderTest extends TestCase { | |||
} | |||
protected void setUp() { | |||
out = new ByteArrayOutputStream(); | |||
writer = new MessageWriter(out); | |||
reader = new MessageReader(); | |||
dispatcher = new EventDispatcher(); | |||
recorder = new TestRunRecorder(); | |||
reader.addListener( recorder ); | |||
dispatcher.addListener( recorder ); | |||
} | |||
public void testTestRunStarted() throws Exception { | |||
writer.notifyTestRunStarted(9999); | |||
reader.process( new ByteArrayInputStream(out.toByteArray()) ); | |||
assertEquals(new Integer(9999), recorder.runStarted.elementAt(0)); | |||
TestRunEvent evt = new TestRunEvent(new Integer(99), TestRunEvent.RUN_STARTED); | |||
dispatcher.fireRunStarted( evt ); | |||
assertEquals(evt, recorder.runStarted.elementAt(0)); | |||
} | |||
public void testTestStarted() throws Exception { | |||
writer.notifyTestStarted("xxxxxx"); | |||
reader.process( new ByteArrayInputStream(out.toByteArray()) ); | |||
assertEquals("xxxxxx", recorder.testStarted.elementAt(0)); | |||
TestRunEvent evt = new TestRunEvent(new Integer(99), TestRunEvent.TEST_STARTED, "xxxx"); | |||
dispatcher.fireTestStarted( evt ); | |||
assertEquals(evt, recorder.testStarted.elementAt(0)); | |||
} | |||
public void testTestEnded() throws Exception { | |||
writer.notifyTestEnded("xxxxxx"); | |||
reader.process( new ByteArrayInputStream(out.toByteArray()) ); | |||
assertEquals("xxxxxx", recorder.testEnded.elementAt(0)); | |||
TestRunEvent evt = new TestRunEvent(new Integer(99), TestRunEvent.TEST_ENDED, "xxxx"); | |||
dispatcher.fireTestEnded( evt ); | |||
assertEquals(evt, recorder.testEnded.elementAt(0)); | |||
} | |||
public void testTestFailedError() throws Exception { | |||
writer.notifyTestFailed(TestRunListener.STATUS_ERROR, "xxxxxx", "1\n2\n3\n4\n5"); | |||
reader.process( new ByteArrayInputStream(out.toByteArray()) ); | |||
TestRunRecorder.TestFailedInfo info = (TestRunRecorder.TestFailedInfo)recorder.testFailed.elementAt(0); | |||
assertEquals("xxxxxx", info.testname); | |||
assertEquals(TestRunListener.STATUS_ERROR, info.status); | |||
assertEquals("1\n2\n3\n4\n5", info.trace); | |||
Exception e = new Exception("error"); | |||
e.fillInStackTrace(); | |||
TestRunEvent evt = new TestRunEvent(new Integer(99), TestRunEvent.TEST_ERROR, "xxxx", e); | |||
dispatcher.fireTestError( evt ); | |||
assertEquals(evt, recorder.testError.elementAt(0)); | |||
} | |||
public void testTestFailedFailure() throws Exception { | |||
writer.notifyTestFailed(TestRunListener.STATUS_FAILURE, "xxxxxx", "1\n2\n3\n4\n5"); | |||
reader.process( new ByteArrayInputStream(out.toByteArray()) ); | |||
TestRunRecorder.TestFailedInfo info = (TestRunRecorder.TestFailedInfo)recorder.testFailed.elementAt(0); | |||
assertEquals("xxxxxx", info.testname); | |||
assertEquals(TestRunListener.STATUS_FAILURE, info.status); | |||
assertEquals("1\n2\n3\n4\n5", info.trace); | |||
Exception e = new Exception("error"); | |||
e.fillInStackTrace(); | |||
TestRunEvent evt = new TestRunEvent(new Integer(99), TestRunEvent.TEST_FAILURE, "xxxx", e); | |||
dispatcher.fireTestFailure( evt ); | |||
assertEquals(evt, recorder.testFailed.elementAt(0)); | |||
} | |||
public void testTestRunEnded() throws Exception { | |||
writer.notifyTestRunEnded(999999); | |||
reader.process( new ByteArrayInputStream(out.toByteArray()) ); | |||
assertEquals(new Long(999999), recorder.runEnded.elementAt(0)); | |||
TestRunEvent evt = new TestRunEvent(new Integer(99), TestRunEvent.RUN_ENDED); | |||
dispatcher.fireRunEnded( evt ); | |||
assertEquals(evt, recorder.runEnded.elementAt(0)); | |||
} | |||
public void testTestRunStopped() throws Exception { | |||
writer.notifyTestRunStopped(999999); | |||
reader.process( new ByteArrayInputStream(out.toByteArray()) ); | |||
assertEquals(new Long(999999), recorder.runStopped.elementAt(0)); | |||
TestRunEvent evt = new TestRunEvent(new Integer(99), TestRunEvent.RUN_STOPPED); | |||
dispatcher.fireRunStopped( evt ); | |||
assertEquals(evt, recorder.runStopped.elementAt(0)); | |||
} | |||
public void testTestRunSystemProperties() throws Exception { | |||
writer.notifySystemProperties(); | |||
reader.process( new ByteArrayInputStream(out.toByteArray()) ); | |||
assertEquals(System.getProperties(), recorder.sysprops.elementAt(0)); | |||
} | |||
} |
@@ -61,7 +61,7 @@ import junit.framework.TestSuite; | |||
import junit.framework.TestListener; | |||
import org.apache.tools.ant.taskdefs.optional.junit.formatter.PlainFormatter; | |||
import org.apache.tools.ant.taskdefs.optional.junit.TestRunListener; | |||
import org.apache.tools.ant.taskdefs.optional.junit.remote.TestRunListener; | |||
import org.apache.tools.ant.taskdefs.optional.junit.TestRunRecorder; | |||
/** | |||
@@ -117,7 +117,7 @@ public class TestRunnerTest extends TestCase | |||
// server.addListener( new PlainFormatter() ); | |||
runner.run(); | |||
synchronized(this){ while (!done){ wait(); } } | |||
assertEquals(new Integer(3), recorder.runStarted.elementAt(0)); | |||
assertEquals(1, recorder.runStarted.size()); | |||
/* | |||
assertTrue(recorder.runStarted.elementAt(0).toSt("testSuccess")); | |||
assertTrue(started.contains("testFailure")); | |||
@@ -148,32 +148,33 @@ public class TestRunnerTest extends TestCase | |||
} | |||
// TestRunListener implementation | |||
public void onTestStarted(String testname) { | |||
public void onTestStarted(TestRunEvent evt) { | |||
} | |||
public void onTestEnded(String testname) { | |||
public void onTestEnded(TestRunEvent evt) { | |||
} | |||
public void onTestFailed(int status, String testname, String trace) { | |||
public void onTestFailure(TestRunEvent evt) { | |||
} | |||
public void onTestRunStarted(int count) { | |||
public void onRunStarted(TestRunEvent count) { | |||
} | |||
public void onTestRunEnded(long elapsedtime) { | |||
public void onRunEnded(TestRunEvent evt) { | |||
synchronized(this){ | |||
done = true; | |||
notify(); | |||
} | |||
} | |||
public void onTestRunStopped(long elapsedtime) { | |||
public void onRunStopped(TestRunEvent evt) { | |||
synchronized(this){ | |||
done = true; | |||
notify(); | |||
} | |||
} | |||
public void onTestRunSystemProperties(Properties props) { | |||
public void onSuiteStarted(TestRunEvent evt) { | |||
} | |||
public void onTestStdOutLine(String testname, String line) { | |||
public void onSuiteEnded(TestRunEvent evt) { | |||
} | |||
public void onTestStdErrLine(String testname, String line) { | |||
public void onTestError(TestRunEvent evt) { | |||
} | |||
} |