Thread: [P-unit-devel] SF.net SVN: p-unit: [27] trunk/punit/src/org/punit
Status: Beta
Brought to you by:
zhanghuangzhu
|
From: <zha...@us...> - 2007-05-12 11:58:45
|
Revision: 27
http://p-unit.svn.sourceforge.net/p-unit/?rev=27&view=rev
Author: zhanghuangzhu
Date: 2007-05-12 04:58:43 -0700 (Sat, 12 May 2007)
Log Message:
-----------
Andrew Zhang: restructured TestResult.
Modified Paths:
--------------
trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
trunk/punit/src/org/punit/runner/Runner.java
Added Paths:
-----------
trunk/punit/src/org/punit/result/ClassResult.java
trunk/punit/src/org/punit/result/MethodResult.java
trunk/punit/src/org/punit/result/MethodWatcherParamImplementorResult.java
trunk/punit/src/org/punit/result/MethodWatcherParamResult.java
trunk/punit/src/org/punit/result/MethodWatcherResult.java
trunk/punit/src/org/punit/result/Result.java
Removed Paths:
-------------
trunk/punit/src/org/punit/result/ParamResult.java
trunk/punit/src/org/punit/result/TestClassResult.java
trunk/punit/src/org/punit/result/TestMethodResult.java
trunk/punit/src/org/punit/result/TestResult.java
trunk/punit/src/org/punit/result/TestValue.java
trunk/punit/src/org/punit/result/WatcherResult.java
Copied: trunk/punit/src/org/punit/result/ClassResult.java (from rev 25, trunk/punit/src/org/punit/result/TestClassResult.java)
===================================================================
--- trunk/punit/src/org/punit/result/ClassResult.java (rev 0)
+++ trunk/punit/src/org/punit/result/ClassResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -0,0 +1,22 @@
+package org.punit.result;
+
+import java.util.*;
+
+public class ClassResult {
+ private List _testMethodResult;
+
+ private String _name;
+
+ public List testMethodResult() {
+ return _testMethodResult;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public String toString() {
+ return _name;
+ }
+
+}
Copied: trunk/punit/src/org/punit/result/MethodResult.java (from rev 25, trunk/punit/src/org/punit/result/TestMethodResult.java)
===================================================================
--- trunk/punit/src/org/punit/result/MethodResult.java (rev 0)
+++ trunk/punit/src/org/punit/result/MethodResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -0,0 +1,9 @@
+package org.punit.result;
+
+public class MethodResult {
+ public String name;
+
+ private long[] _values;
+
+ private Throwable _throwable;
+}
\ No newline at end of file
Added: trunk/punit/src/org/punit/result/MethodWatcherParamImplementorResult.java
===================================================================
--- trunk/punit/src/org/punit/result/MethodWatcherParamImplementorResult.java (rev 0)
+++ trunk/punit/src/org/punit/result/MethodWatcherParamImplementorResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -0,0 +1,23 @@
+package org.punit.result;
+
+public class MethodWatcherParamImplementorResult {
+ private Object _result;
+
+ private String _name;
+
+ public void setResult(Object value) {
+ _result = value;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public Object result() {
+ return _result;
+ }
+
+ public String toString() {
+ return _name;
+ }
+}
Added: trunk/punit/src/org/punit/result/MethodWatcherParamResult.java
===================================================================
--- trunk/punit/src/org/punit/result/MethodWatcherParamResult.java (rev 0)
+++ trunk/punit/src/org/punit/result/MethodWatcherParamResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -0,0 +1,22 @@
+package org.punit.result;
+
+import java.util.*;
+
+public class MethodWatcherParamResult {
+ private List _implementatorResult;
+
+ private String _name;
+
+ public List implementatorResult() {
+ return _implementatorResult;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public String toString() {
+ return _name;
+ }
+
+}
Copied: trunk/punit/src/org/punit/result/MethodWatcherResult.java (from rev 25, trunk/punit/src/org/punit/result/WatcherResult.java)
===================================================================
--- trunk/punit/src/org/punit/result/MethodWatcherResult.java (rev 0)
+++ trunk/punit/src/org/punit/result/MethodWatcherResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -0,0 +1,22 @@
+package org.punit.result;
+
+import java.util.*;
+
+public class MethodWatcherResult {
+ private List _testMethodWatcherParamResult;
+
+ private String _name;
+
+ public List testMethodWatcherParamResult() {
+ return _testMethodWatcherParamResult;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public String toString() {
+ return _name;
+ }
+
+}
Deleted: trunk/punit/src/org/punit/result/ParamResult.java
===================================================================
--- trunk/punit/src/org/punit/result/ParamResult.java 2007-05-12 11:36:52 UTC (rev 26)
+++ trunk/punit/src/org/punit/result/ParamResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -1,5 +0,0 @@
-package org.punit.result;
-
-
-public class ParamResult {
-}
Copied: trunk/punit/src/org/punit/result/Result.java (from rev 26, trunk/punit/src/org/punit/result/TestResult.java)
===================================================================
--- trunk/punit/src/org/punit/result/Result.java (rev 0)
+++ trunk/punit/src/org/punit/result/Result.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -0,0 +1,58 @@
+package org.punit.result;
+
+import java.util.*;
+
+/*
+TestClass1 -> TestMethod1 -> Watcher1 -> Param1 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Param2 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Watcher2 -> Param1 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Param2 -> Implementor1 -> Value
+ Implementor2 -> Value
+
+ -> TestMethod2 -> Watcher1 -> Param1 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Param2 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Watcher2 -> Param1 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Param2 -> Implementor1 -> Value
+ Implementor2 -> Value
+
+TestClass2 -> TestMethod1 -> Watcher1 -> Param1 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Param2 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Watcher2 -> Param1 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Param2 -> Implementor1 -> Value
+ Implementor2 -> Value
+
+ -> TestMethod2 -> Watcher1 -> Param1 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Param2 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Watcher2 -> Param1 -> Implementor1 -> Value
+ Implementor2 -> Value
+ -> Param2 -> Implementor1 -> Value
+ Implementor2 -> Value
+ */
+public class Result {
+ private List _testClassResult;
+
+ private String _name;
+
+ public List testClassResult() {
+ return _testClassResult;
+ }
+
+ public void setName(String name) {
+ _name = name;
+ }
+
+ public String toString() {
+ return _name;
+ }
+}
Deleted: trunk/punit/src/org/punit/result/TestClassResult.java
===================================================================
--- trunk/punit/src/org/punit/result/TestClassResult.java 2007-05-12 11:36:52 UTC (rev 26)
+++ trunk/punit/src/org/punit/result/TestClassResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -1,5 +0,0 @@
-package org.punit.result;
-
-public class TestClassResult {
-
-}
Deleted: trunk/punit/src/org/punit/result/TestMethodResult.java
===================================================================
--- trunk/punit/src/org/punit/result/TestMethodResult.java 2007-05-12 11:36:52 UTC (rev 26)
+++ trunk/punit/src/org/punit/result/TestMethodResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -1,9 +0,0 @@
-package org.punit.result;
-
-public class TestMethodResult {
- public String name;
-
- private long[] _values;
-
- private Throwable _throwable;
-}
\ No newline at end of file
Deleted: trunk/punit/src/org/punit/result/TestResult.java
===================================================================
--- trunk/punit/src/org/punit/result/TestResult.java 2007-05-12 11:36:52 UTC (rev 26)
+++ trunk/punit/src/org/punit/result/TestResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -1,38 +0,0 @@
-package org.punit.result;
-
-import java.util.*;
-
-/*
-TestClass1 -> TestMethod1 -> Watcher1 -> Param1 -> (Implementor1 Watcher1), (Implementor2 Watcher1)
- -> Param2 -> (Implementor1 Watcher1), (Implementor2 Watcher1)
- -> Watcher2 -> Param1 -> (Implementor1 Watcher2), (Implementor2 Watcher2)
- -> Param2 -> (Implementor1 Watcher2), (Implementor2 Watcher2)
-
- -> TestMethod2 -> Watcher1 -> Param1 -> (Implementor1 Watcher1), (Implementor2 Watcher1)
- -> Param2 -> (Implementor1 Watcher1), (Implementor2 Watcher1)
- -> Watcher2 -> Param1 -> (Implementor1 Watcher2), (Implementor2 Watcher2)
- -> Param2 -> (Implementor1 Watcher2), (Implementor2 Watcher2)
-
-TestClass2 -> TestMethod1 -> Watcher1 -> Param1 -> (Implementor1 Watcher1), (Implementor2 Watcher1)
- -> Param2 -> (Implementor1 Watcher1), (Implementor2 Watcher1)
- -> Watcher2 -> Param1 -> (Implementor1 Watcher2), (Implementor2 Watcher2)
- -> Param2 -> (Implementor1 Watcher2), (Implementor2 Watcher2)
-
- -> TestMethod2 -> Watcher1 -> Param1 -> (Implementor1 Watcher1), (Implementor2 Watcher1)
- -> Param2 -> (Implementor1 Watcher1), (Implementor2 Watcher1)
- -> Watcher2 -> Param1 -> (Implementor1 Watcher2), (Implementor2 Watcher2)
- -> Param2 -> (Implementor1 Watcher2), (Implementor2 Watcher2)
- */
-public class TestResult {
- private int _id;
-
- private List _watchResults;
-
- public void setID(int id) {
- _id = id;
- }
-
- public int id() {
- return _id;
- }
-}
Deleted: trunk/punit/src/org/punit/result/TestValue.java
===================================================================
--- trunk/punit/src/org/punit/result/TestValue.java 2007-05-12 11:36:52 UTC (rev 26)
+++ trunk/punit/src/org/punit/result/TestValue.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -1,5 +0,0 @@
-package org.punit.result;
-
-public class TestValue {
-
-}
Deleted: trunk/punit/src/org/punit/result/WatcherResult.java
===================================================================
--- trunk/punit/src/org/punit/result/WatcherResult.java 2007-05-12 11:36:52 UTC (rev 26)
+++ trunk/punit/src/org/punit/result/WatcherResult.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -1,6 +0,0 @@
-package org.punit.result;
-
-public class WatcherResult {
- private String implementorName;
- private Object value;
-}
Modified: trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-12 11:36:52 UTC (rev 26)
+++ trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -21,7 +21,7 @@
_testMethodRunner = testMethodRunner;
}
- public TestResult run(Class clazz) {
+ public Result run(Class clazz) {
Object[] testClasses = _testSuiteBuiler.buildTestClasses(clazz);
for (int i = 0; i < testClasses.length; ++i) {
runTestClass((Class)testClasses[i]);
Modified: trunk/punit/src/org/punit/runner/Runner.java
===================================================================
--- trunk/punit/src/org/punit/runner/Runner.java 2007-05-12 11:36:52 UTC (rev 26)
+++ trunk/punit/src/org/punit/runner/Runner.java 2007-05-12 11:58:43 UTC (rev 27)
@@ -3,5 +3,5 @@
import org.punit.result.*;
public interface Runner {
- public TestResult run(Class clazz);
+ public Result run(Class clazz);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-12 22:46:47
|
Revision: 31
http://p-unit.svn.sourceforge.net/p-unit/?rev=31&view=rev
Author: zhanghuangzhu
Date: 2007-05-12 15:46:49 -0700 (Sat, 12 May 2007)
Log Message:
-----------
Andrew Zhang: Defined PUnitEvent interface.
Modified Paths:
--------------
trunk/punit/src/org/punit/logger/LogListener.java
Added Paths:
-----------
trunk/punit/src/org/punit/events/PUnitEvent.java
Added: trunk/punit/src/org/punit/events/PUnitEvent.java
===================================================================
--- trunk/punit/src/org/punit/events/PUnitEvent.java (rev 0)
+++ trunk/punit/src/org/punit/events/PUnitEvent.java 2007-05-12 22:46:49 UTC (rev 31)
@@ -0,0 +1,6 @@
+package org.punit.events;
+
+public interface PUnitEvent extends RunnerEventListener, ClassEventListener,
+ MethodEventListener, WatcherEventListener {
+
+}
Modified: trunk/punit/src/org/punit/logger/LogListener.java
===================================================================
--- trunk/punit/src/org/punit/logger/LogListener.java 2007-05-12 22:31:56 UTC (rev 30)
+++ trunk/punit/src/org/punit/logger/LogListener.java 2007-05-12 22:46:49 UTC (rev 31)
@@ -9,8 +9,7 @@
import org.punit.util.*;
import org.punit.watcher.*;
-public class LogListener implements RunnerEventListener, ClassEventListener,
- MethodEventListener, WatcherEventListener {
+public class LogListener implements PUnitEvent {
Summary _summary = new Summary();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-13 08:16:13
|
Revision: 35
http://p-unit.svn.sourceforge.net/p-unit/?rev=35&view=rev
Author: zhanghuangzhu
Date: 2007-05-13 01:16:15 -0700 (Sun, 13 May 2007)
Log Message:
-----------
Andrew Zhang: extracted StreamLoggerListener.
Modified Paths:
--------------
trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
Added Paths:
-----------
trunk/punit/src/org/punit/logger/ConsoleLoggerListener.java
trunk/punit/src/org/punit/logger/StreamLoggerListener.java
Removed Paths:
-------------
trunk/punit/src/org/punit/logger/LogListener.java
Copied: trunk/punit/src/org/punit/logger/ConsoleLoggerListener.java (from rev 31, trunk/punit/src/org/punit/logger/LogListener.java)
===================================================================
--- trunk/punit/src/org/punit/logger/ConsoleLoggerListener.java (rev 0)
+++ trunk/punit/src/org/punit/logger/ConsoleLoggerListener.java 2007-05-13 08:16:15 UTC (rev 35)
@@ -0,0 +1,9 @@
+package org.punit.logger;
+
+public class ConsoleLoggerListener extends StreamLoggerListener {
+
+ public ConsoleLoggerListener() {
+ super(System.err);
+ }
+
+}
Deleted: trunk/punit/src/org/punit/logger/LogListener.java
===================================================================
--- trunk/punit/src/org/punit/logger/LogListener.java 2007-05-13 07:23:46 UTC (rev 34)
+++ trunk/punit/src/org/punit/logger/LogListener.java 2007-05-13 08:16:15 UTC (rev 35)
@@ -1,152 +0,0 @@
-package org.punit.logger;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.util.*;
-import java.util.logging.*;
-
-import org.punit.events.*;
-import org.punit.util.*;
-import org.punit.watcher.*;
-
-public class LogListener implements PUnitEvent {
-
- Summary _summary = new Summary();
-
- private boolean _watchersStart;
-
- public void onRunnerStart(Class clazz) {
- _summary.start();
- }
-
- public void onRunnerEnd(Class clazz) {
- _summary.stop();
- _summary.log(this);
- ;
- }
-
- public void onClassStart(Class clazz) {
- log(clazz.getName() + "\n", Level.INFO);
- }
-
- public void onClassEnd(Class clazz) {
-
- }
-
- public void onMethodStart(Method method) {
- log(LoggerUtil.simpleMethodName(method), Level.INFO);
- }
-
- public void onMethodEnd(Method method, Throwable t) {
- _summary.countMethod();
- log("\n", Level.INFO);
- if (t != null) {
- log(t.toString() + "\n", Level.INFO);
- _summary.addThrowable(t);
- }
- }
-
- public void onWatchersStart() {
- _watchersStart = true;
- }
-
- public void onWatcherStart(Watcher watch) {
- }
-
- public void onWatchersEnd() {
- log("]", Level.FINE);
- }
-
- public void onWatcherEnd(Watcher watch) {
- String watchValue = watch.stringValue();
- if(_watchersStart) {
- log(" - [" + watchValue, Level.FINE);
- } else {
- log("," + watch.stringValue(), Level.FINE);
- }
- _watchersStart = false;
- }
-
- public PrintStream _ps = System.err;
-
- public Level _level = Level.FINE;
-
- public void setLogLevel(Level level) {
- _level = level;
- }
-
- public void setOutputStream(PrintStream ps) {
- _ps = ps;
- }
-
- public void log(String message, Level level) {
- if (_ps == null) {
- return;
- }
- if (level.intValue() < _level.intValue()) {
- return;
- }
- _ps.print(message);
- _ps.flush();
- }
-
- static class Summary {
- private int _methodCount;
-
- private TimeWatcher _timeWatcher = new TimeWatcher();
-
- private List _throwableList = new ArrayList();
-
- public void countMethod() {
- ++_methodCount;
- }
-
- public void start() {
- _timeWatcher.start();
- }
-
- public void stop() {
- _timeWatcher.stop();
- }
-
- /*
- * The format is:
- *
- * Total: 4 (GREEN) - 156ms
- *
- * or:
- *
- * Total: 2 (RED) - 120ms
- * 1)java.lang.IllegalArgumentException
- * at tests.SimpleTestSample.test1(SimpleTestSample.java:20)
- * 2)java.lang.NullPointerException
- * at tests.SimpleTestSample.test2(SimpleTestSample.java:24)
- *
- */
- public void log(final LogListener logger) {
- StringBuffer sb = new StringBuffer("Total: ");
- sb.append(_methodCount);
- int failures = _throwableList.size();
- if (failures == 0) {
- sb.append(" (GREEN) - ");
- } else {
- sb.append(" (RED) - ");
- }
- sb.append(_timeWatcher.stringValue());
- sb.append("\n");
- logger.log(sb.toString(), Level.INFO);
- VisitorUtil.traverse(_throwableList.iterator(), new Visitor() {
- int count = 0;
-
- public void visit(Object obj) {
- logger.log(++count + ")", Level.INFO);
- ((Throwable) obj).printStackTrace(logger._ps);
- }
- });
- }
-
- public void addThrowable(Throwable t) {
- _throwableList.add(t);
- }
- }
-}
Added: trunk/punit/src/org/punit/logger/StreamLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/logger/StreamLoggerListener.java (rev 0)
+++ trunk/punit/src/org/punit/logger/StreamLoggerListener.java 2007-05-13 08:16:15 UTC (rev 35)
@@ -0,0 +1,158 @@
+package org.punit.logger;
+
+import java.io.*;
+import java.lang.reflect.*;
+import java.util.*;
+import java.util.logging.*;
+
+import org.punit.events.*;
+import org.punit.util.*;
+import org.punit.watcher.*;
+
+public class StreamLoggerListener implements PUnitEvent {
+ public PrintStream _ps;
+
+ Summary _summary = new Summary();
+
+ private boolean _watchersStart;
+
+ public Level _level = Level.FINE;
+
+ public StreamLoggerListener(PrintStream ps) {
+ _ps = ps;
+ }
+ public void onRunnerStart(Class clazz) {
+ _summary.start();
+ log("Started to run " + clazz.getName() + "\n", Level.INFO);
+ }
+
+ public void onRunnerEnd(Class clazz) {
+ _summary.stop();
+ _summary.log(this);
+ ;
+ }
+
+ public void onClassStart(Class clazz) {
+ log(clazz.getName() + "\n", Level.INFO);
+ }
+
+ public void onClassEnd(Class clazz) {
+
+ }
+
+ public void onMethodStart(Method method) {
+ log(LoggerUtil.simpleMethodName(method), Level.INFO);
+ }
+
+ public void onMethodEnd(Method method, Throwable t) {
+ _summary.countMethod();
+ log("\n", Level.INFO);
+ if (t != null) {
+ log(t.toString() + "\n", Level.INFO);
+ _summary.addThrowable(t);
+ }
+ }
+
+ public void onWatchersStart() {
+ _watchersStart = true;
+ }
+
+ public void onWatcherStart(Watcher watch) {
+ }
+
+ public void onWatchersEnd() {
+ log("]", Level.FINE);
+ }
+
+ public void onWatcherEnd(Watcher watch) {
+ String watchValue = watch.stringValue();
+ if(_watchersStart) {
+ log(" - [" + watchValue, Level.FINE);
+ } else {
+ log("," + watch.stringValue(), Level.FINE);
+ }
+ _watchersStart = false;
+ }
+
+ public void setLogLevel(Level level) {
+ _level = level;
+ }
+
+ public void setOutputStream(PrintStream ps) {
+ _ps = ps;
+ }
+
+ public void log(String message, Level level) {
+ if (_ps == null) {
+ return;
+ }
+ if (level.intValue() < _level.intValue()) {
+ return;
+ }
+ _ps.print(message);
+ _ps.flush();
+ }
+
+ static class Summary {
+ private int _methodCount;
+
+ private TimeWatcher _timeWatcher = new TimeWatcher();
+
+ private List _throwableList = new ArrayList();
+
+ public void countMethod() {
+ ++_methodCount;
+ }
+
+ public void start() {
+ _timeWatcher.start();
+ _methodCount = 0;
+ _throwableList.clear();
+ }
+
+ public void stop() {
+ _timeWatcher.stop();
+ }
+
+ /*
+ * The format is:
+ *
+ * Total: 4 (GREEN) - 156ms
+ *
+ * or:
+ *
+ * Total: 2 (RED) - 120ms
+ * 1)java.lang.IllegalArgumentException
+ * at tests.SimpleTestSample.test1(SimpleTestSample.java:20)
+ * 2)java.lang.NullPointerException
+ * at tests.SimpleTestSample.test2(SimpleTestSample.java:24)
+ *
+ */
+ public void log(final StreamLoggerListener logger) {
+ StringBuffer sb = new StringBuffer("Total: ");
+ sb.append(_methodCount);
+ int failures = _throwableList.size();
+ if (failures == 0) {
+ sb.append(" (GREEN) - ");
+ } else {
+ sb.append(" (RED) - ");
+ }
+ sb.append(_timeWatcher.stringValue());
+ sb.append("\n");
+ logger.log(sb.toString(), Level.INFO);
+ VisitorUtil.traverse(_throwableList.iterator(), new Visitor() {
+ int count = 0;
+
+ public void visit(Object obj) {
+ logger.log(++count + ")", Level.INFO);
+ ((Throwable) obj).printStackTrace(logger._ps);
+ }
+ });
+ }
+
+ public void addThrowable(Throwable t) {
+ _throwableList.add(t);
+ }
+ }
+
+}
\ No newline at end of file
Modified: trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-13 07:23:46 UTC (rev 34)
+++ trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-13 08:16:15 UTC (rev 35)
@@ -22,7 +22,7 @@
private List _classEventListeners = new ArrayList();
- private LogListener _logger = new LogListener();
+ private ConsoleLoggerListener _consoleLogger = new ConsoleLoggerListener();
public PUnitAbstractRunner(TestSuiteBuilder testSuiteBuiler, TestMethodBuilder testMethodBuilder, TestMethodRunner testMethodRunner) {
_testSuiteBuiler = testSuiteBuiler;
@@ -154,19 +154,19 @@
}
private void registerLogListener() {
- addRunnerEventListener(_logger);
- addClassEventListener(_logger);
- _testMethodRunner.addMethodEventListener(_logger);
- _testMethodRunner.addWatcherEventListener(_logger);
+ addRunnerEventListener(_consoleLogger);
+ addClassEventListener(_consoleLogger);
+ _testMethodRunner.addMethodEventListener(_consoleLogger);
+ _testMethodRunner.addWatcherEventListener(_consoleLogger);
}
public void removeLogListener() {
- removeClassEventListener(_logger);
- _testMethodRunner.removeMethodEventListener(_logger);
- _testMethodRunner.removeWatcherEventListener(_logger);
+ removeClassEventListener(_consoleLogger);
+ _testMethodRunner.removeMethodEventListener(_consoleLogger);
+ _testMethodRunner.removeWatcherEventListener(_consoleLogger);
}
- public LogListener logListener() {
- return _logger;
+ public StreamLoggerListener consoleLogger() {
+ return _consoleLogger;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-20 08:01:41
|
Revision: 135
http://p-unit.svn.sourceforge.net/p-unit/?rev=135&view=rev
Author: zhanghuangzhu
Date: 2007-05-20 01:01:40 -0700 (Sun, 20 May 2007)
Log Message:
-----------
Andrew Zhang: removed all warnings.
Modified Paths:
--------------
trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java
trunk/punit/src/org/punit/reporter/stream/console/ConsoleLogger.java
trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java
trunk/punit/src/org/punit/runner/PUnitConcurrentRunner.java
trunk/punit/src/org/punit/runner/PUnitSoloRunner.java
trunk/punit/src/org/punit/runner/RunnerProperties.java
trunk/punit/src/org/punit/runner/method/AbstractTestMethodRunner.java
trunk/punit/src/org/punit/runner/method/ConcurrentTestMethodRunner.java
trunk/punit/src/org/punit/runner/method/SoloTestMethodRunner.java
trunk/punit/src/org/punit/watcher/MemoryWatcher.java
trunk/punit/src/org/punit/watcher/TimeWatcher.java
Modified: trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.reporter.stream;
import java.io.*;
Modified: trunk/punit/src/org/punit/reporter/stream/console/ConsoleLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/console/ConsoleLogger.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/reporter/stream/console/ConsoleLogger.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.reporter.stream.console;
import java.io.*;
@@ -6,6 +8,8 @@
public class ConsoleLogger extends StreamLoggerListener {
+ private static final long serialVersionUID = 2691593175672418574L;
+
private void readObject(java.io.ObjectInputStream in) throws IOException,
ClassNotFoundException {
_ps = System.err;
Modified: trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.reporter.stream.file;
import java.io.*;
@@ -8,6 +10,8 @@
public class FileLogger extends StreamLoggerListener {
+ private static final long serialVersionUID = -4086254621600007888L;
+
public void onRunnerStart(Class clazz, Runner runner) {
String fileName = ReporterUtil.generateFileName(clazz, runner) + ".txt"; //$NON-NLS-1$
try {
Modified: trunk/punit/src/org/punit/runner/PUnitConcurrentRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitConcurrentRunner.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/runner/PUnitConcurrentRunner.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -4,10 +4,11 @@
import org.punit.builder.*;
import org.punit.message.*;
import org.punit.runner.method.*;
-import org.punit.type.*;
public class PUnitConcurrentRunner extends PUnitAbstractRunner {
+ private static final long serialVersionUID = -7193902024861434576L;
+
private static final int DEFAULT_CONCURRENT_COUNT = 10;
public PUnitConcurrentRunner() {
Modified: trunk/punit/src/org/punit/runner/PUnitSoloRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitSoloRunner.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/runner/PUnitSoloRunner.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.runner;
import org.punit.builder.*;
@@ -7,6 +9,8 @@
public class PUnitSoloRunner extends PUnitAbstractRunner {
+ private static final long serialVersionUID = 5938649527831492676L;
+
public static void main(String[] args) {
RunnerUtil.run(new PUnitSoloRunner(), args);
}
Modified: trunk/punit/src/org/punit/runner/RunnerProperties.java
===================================================================
--- trunk/punit/src/org/punit/runner/RunnerProperties.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/runner/RunnerProperties.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.runner;
import java.io.*;
@@ -6,6 +8,8 @@
public class RunnerProperties implements Serializable {
+ private static final long serialVersionUID = -4832579362013257784L;
+
public String vmName;
public boolean isIntermediate;
Modified: trunk/punit/src/org/punit/runner/method/AbstractTestMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/method/AbstractTestMethodRunner.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/runner/method/AbstractTestMethodRunner.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.runner.method;
import java.lang.reflect.*;
@@ -14,23 +16,23 @@
protected List _watchers = new ArrayList(); // <Watcher>
- protected Object _testInstance;
+ private Runner _runner;
+
+ private MemoryWatcher _memoryWatcher = new MemoryWatcher();
+
+ private TimeWatcher _timeWatcher = new TimeWatcher();
- protected Method _method;
+ protected transient Object _testInstance;
- protected Object[] _params;
+ protected transient Method _method;
- protected Class _class;
+ protected transient Object[] _params;
- protected Method _tearDownMethod;
+ protected transient Class _class;
- protected Method _setUpMethod;
+ protected transient Method _tearDownMethod;
- private Runner _runner;
-
- private MemoryWatcher _memoryWatcher = new MemoryWatcher();
-
- private TimeWatcher _timeWatcher = new TimeWatcher();
+ protected transient Method _setUpMethod;
public AbstractTestMethodRunner() {
_watchers.add(_memoryWatcher);
Modified: trunk/punit/src/org/punit/runner/method/ConcurrentTestMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/method/ConcurrentTestMethodRunner.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/runner/method/ConcurrentTestMethodRunner.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.runner.method;
import org.punit.exception.*;
@@ -6,10 +8,12 @@
public class ConcurrentTestMethodRunner extends AbstractTestMethodRunner {
- TestMethodThread[] _threads;
+ private static final long serialVersionUID = 6423244395038097893L;
- ConcurrentException _concurrentException = new ConcurrentException();
+ private transient TestMethodThread[] _threads;
+ private ConcurrentException _concurrentException = new ConcurrentException();
+
private int _concurrentCount;
public ConcurrentTestMethodRunner(int concurrentCount) {
Modified: trunk/punit/src/org/punit/runner/method/SoloTestMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/method/SoloTestMethodRunner.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/runner/method/SoloTestMethodRunner.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.runner.method;
import org.punit.exception.*;
@@ -5,6 +7,8 @@
public class SoloTestMethodRunner extends AbstractTestMethodRunner {
+ private static final long serialVersionUID = 3278612571978181393L;
+
protected void runImpl() throws Throwable {
try {
ReflectionUtil.invokeMethod(_method, _testInstance, _params);
Modified: trunk/punit/src/org/punit/watcher/MemoryWatcher.java
===================================================================
--- trunk/punit/src/org/punit/watcher/MemoryWatcher.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/watcher/MemoryWatcher.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.watcher;
import org.punit.message.*;
@@ -5,11 +7,13 @@
public class MemoryWatcher implements Watcher {
- private long _startUsedMemory;
+ private static final long serialVersionUID = 3097358158872486298L;
+
+ private transient long _startUsedMemory;
- private long _maxUsedMemory;
+ private transient long _maxUsedMemory;
- private boolean _stop;
+ private transient boolean _stop;
public void start() {
_stop = false;
Modified: trunk/punit/src/org/punit/watcher/TimeWatcher.java
===================================================================
--- trunk/punit/src/org/punit/watcher/TimeWatcher.java 2007-05-19 21:21:27 UTC (rev 134)
+++ trunk/punit/src/org/punit/watcher/TimeWatcher.java 2007-05-20 08:01:40 UTC (rev 135)
@@ -1,31 +1,16 @@
-/*
-This file is part of the PolePosition database benchmark
-http://www.polepos.org
+/* (C) Copyright 2007, by Andrew Zhang */
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public
-License along with this program; if not, write to the Free
-Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-MA 02111-1307, USA. */
-
package org.punit.watcher;
import org.punit.message.*;
public class TimeWatcher implements Watcher {
- private long _startTime;
+ private static final long serialVersionUID = 1746326383277266047L;
+
+ private transient long _startTime;
- private long _endTime;
+ private transient long _endTime;
public void start() {
_startTime = System.nanoTime();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-13 09:02:19
|
Revision: 37
http://p-unit.svn.sourceforge.net/p-unit/?rev=37&view=rev
Author: zhanghuangzhu
Date: 2007-05-13 02:02:21 -0700 (Sun, 13 May 2007)
Log Message:
-----------
Andrew Zhang: refined FileLoggerListener.
Modified Paths:
--------------
trunk/punit/src/org/punit/events/RunnerEventListener.java
trunk/punit/src/org/punit/logger/FileLoggerListener.java
trunk/punit/src/org/punit/logger/StreamLoggerListener.java
trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
trunk/punit/src/org/punit/runner/PUnitConcurrentParameterizableRunner.java
trunk/punit/src/org/punit/runner/PUnitConcurrentRunner.java
trunk/punit/src/org/punit/runner/PUnitSoloParameterizableRunner.java
trunk/punit/src/org/punit/runner/PUnitSoloRunner.java
Modified: trunk/punit/src/org/punit/events/RunnerEventListener.java
===================================================================
--- trunk/punit/src/org/punit/events/RunnerEventListener.java 2007-05-13 08:48:40 UTC (rev 36)
+++ trunk/punit/src/org/punit/events/RunnerEventListener.java 2007-05-13 09:02:21 UTC (rev 37)
@@ -2,10 +2,12 @@
import java.util.*;
+import org.punit.runner.*;
+
public interface RunnerEventListener extends EventListener {
- public void onRunnerStart(Class clazz);
+ public void onRunnerStart(Class clazz, Runner runner);
- public void onRunnerEnd(Class clazz);
+ public void onRunnerEnd(Class clazz, Runner runner);
}
Modified: trunk/punit/src/org/punit/logger/FileLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/logger/FileLoggerListener.java 2007-05-13 08:48:40 UTC (rev 36)
+++ trunk/punit/src/org/punit/logger/FileLoggerListener.java 2007-05-13 09:02:21 UTC (rev 37)
@@ -2,27 +2,33 @@
import java.io.*;
+import org.punit.runner.*;
+
public class FileLoggerListener extends StreamLoggerListener {
- public void onRunnerStart(Class clazz) {
+ public void onRunnerStart(Class clazz, Runner runner) {
initResultFolder();
- String fileName = "result/result_." + clazz.getName() + ".txt";
+ String fileName = generateFileName(clazz, runner);
try {
PrintStream ps = new PrintStream(fileName);
setOutputStream(ps);
} catch (Exception e) {
throw new IllegalStateException(e);
}
- super.onRunnerStart(clazz);
+ super.onRunnerStart(clazz, runner);
}
+ public void onRunnerEnd(Class clazz, Runner runner) {
+ super.onRunnerEnd(clazz, runner);
+ _ps.close();
+ }
+
private void initResultFolder() {
- new File("result").delete();
new File("result").mkdir();
}
-
- public void onRunnerEnd(Class clazz) {
- super.onRunnerEnd(clazz);
- _ps.close();
+
+ private String generateFileName(Class clazz, Runner runner) {
+ return "result/result_." + clazz.getName() + "_" + runner
+ + ".txt";
}
}
Modified: trunk/punit/src/org/punit/logger/StreamLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/logger/StreamLoggerListener.java 2007-05-13 08:48:40 UTC (rev 36)
+++ trunk/punit/src/org/punit/logger/StreamLoggerListener.java 2007-05-13 09:02:21 UTC (rev 37)
@@ -6,6 +6,7 @@
import java.util.logging.*;
import org.punit.events.*;
+import org.punit.runner.*;
import org.punit.util.*;
import org.punit.watcher.*;
@@ -25,12 +26,12 @@
_ps = ps;
}
- public void onRunnerStart(Class clazz) {
+ public void onRunnerStart(Class clazz, Runner runner) {
_summary.start();
- log("Started to run " + clazz.getName() + "\n", Level.INFO);
+ log("Started to run " + clazz.getName() + runner + "\n", Level.INFO);
}
- public void onRunnerEnd(Class clazz) {
+ public void onRunnerEnd(Class clazz, Runner runner) {
_summary.stop();
_summary.log(this);
}
Modified: trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-13 08:48:40 UTC (rev 36)
+++ trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-13 09:02:21 UTC (rev 37)
@@ -48,7 +48,7 @@
private void onRunnerStart(final Class clazz) {
VisitorUtil.traverse(_runnerEventListeners.iterator(), new Visitor() {
public void visit(Object obj) {
- ((RunnerEventListener) obj).onRunnerStart(clazz);
+ ((RunnerEventListener) obj).onRunnerStart(clazz, PUnitAbstractRunner.this);
}
});
}
@@ -56,7 +56,7 @@
private void onRunnerEnd(final Class clazz) {
VisitorUtil.traverse(_runnerEventListeners.iterator(), new Visitor() {
public void visit(Object obj) {
- ((RunnerEventListener) obj).onRunnerEnd(clazz);
+ ((RunnerEventListener) obj).onRunnerEnd(clazz, PUnitAbstractRunner.this);
}
});
}
@@ -189,4 +189,6 @@
public FileLoggerListener fileLogger() {
return _fileLogger;
}
+
+ public abstract String toString();
}
Modified: trunk/punit/src/org/punit/runner/PUnitConcurrentParameterizableRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitConcurrentParameterizableRunner.java 2007-05-13 08:48:40 UTC (rev 36)
+++ trunk/punit/src/org/punit/runner/PUnitConcurrentParameterizableRunner.java 2007-05-13 09:02:21 UTC (rev 37)
@@ -18,4 +18,8 @@
&& Concurrent.class.isAssignableFrom(testClass);
}
+ public String toString() {
+ return "concurrent_parameterizable";
+ }
+
}
Modified: trunk/punit/src/org/punit/runner/PUnitConcurrentRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitConcurrentRunner.java 2007-05-13 08:48:40 UTC (rev 36)
+++ trunk/punit/src/org/punit/runner/PUnitConcurrentRunner.java 2007-05-13 09:02:21 UTC (rev 37)
@@ -14,4 +14,8 @@
return Concurrent.class.isAssignableFrom(clazz);
}
+ public String toString() {
+ return "concurrent";
+ }
+
}
Modified: trunk/punit/src/org/punit/runner/PUnitSoloParameterizableRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitSoloParameterizableRunner.java 2007-05-13 08:48:40 UTC (rev 36)
+++ trunk/punit/src/org/punit/runner/PUnitSoloParameterizableRunner.java 2007-05-13 09:02:21 UTC (rev 37)
@@ -14,5 +14,9 @@
return Parameterizable.class.isAssignableFrom(testClass);
}
+ public String toString() {
+ return "solo_parameterizable";
+ }
+
}
Modified: trunk/punit/src/org/punit/runner/PUnitSoloRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitSoloRunner.java 2007-05-13 08:48:40 UTC (rev 36)
+++ trunk/punit/src/org/punit/runner/PUnitSoloRunner.java 2007-05-13 09:02:21 UTC (rev 37)
@@ -14,4 +14,8 @@
return true;
}
+ public String toString() {
+ return "solo";
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-13 21:34:58
|
Revision: 45
http://p-unit.svn.sourceforge.net/p-unit/?rev=45&view=rev
Author: zhanghuangzhu
Date: 2007-05-13 14:34:57 -0700 (Sun, 13 May 2007)
Log Message:
-----------
Andrew Zhang: refactored org.punit.reporter package.
Added Paths:
-----------
trunk/punit/src/org/punit/reporter/
trunk/punit/src/org/punit/reporter/logger/
trunk/punit/src/org/punit/reporter/logger/ConsoleLoggerListener.java
trunk/punit/src/org/punit/reporter/logger/FileLoggerListener.java
trunk/punit/src/org/punit/reporter/logger/StreamLoggerListener.java
Removed Paths:
-------------
trunk/punit/src/org/punit/reporter/logger/LogListener.java
Copied: trunk/punit/src/org/punit/reporter/logger (from rev 30, trunk/punit/src/org/punit/logger)
Copied: trunk/punit/src/org/punit/reporter/logger/ConsoleLoggerListener.java (from rev 35, trunk/punit/src/org/punit/logger/ConsoleLoggerListener.java)
===================================================================
--- trunk/punit/src/org/punit/reporter/logger/ConsoleLoggerListener.java (rev 0)
+++ trunk/punit/src/org/punit/reporter/logger/ConsoleLoggerListener.java 2007-05-13 21:34:57 UTC (rev 45)
@@ -0,0 +1,9 @@
+package org.punit.reporter.logger;
+
+public class ConsoleLoggerListener extends StreamLoggerListener {
+
+ public ConsoleLoggerListener() {
+ super(System.err);
+ }
+
+}
Copied: trunk/punit/src/org/punit/reporter/logger/FileLoggerListener.java (from rev 39, trunk/punit/src/org/punit/logger/FileLoggerListener.java)
===================================================================
--- trunk/punit/src/org/punit/reporter/logger/FileLoggerListener.java (rev 0)
+++ trunk/punit/src/org/punit/reporter/logger/FileLoggerListener.java 2007-05-13 21:34:57 UTC (rev 45)
@@ -0,0 +1,34 @@
+package org.punit.reporter.logger;
+
+import java.io.*;
+
+import org.punit.runner.*;
+
+public class FileLoggerListener extends StreamLoggerListener {
+
+ public void onRunnerStart(Class clazz, Runner runner) {
+ initResultFolder();
+ String fileName = generateFileName(clazz, runner);
+ try {
+ PrintStream ps = new PrintStream(fileName);
+ setOutputStream(ps);
+ } catch (Exception e) {
+ throw new IllegalStateException(e);
+ }
+ super.onRunnerStart(clazz, runner);
+ }
+
+ public void onRunnerEnd(Class clazz, Runner runner) {
+ super.onRunnerEnd(clazz, runner);
+ _ps.close();
+ }
+
+ private void initResultFolder() {
+ new File("result").mkdir(); //$NON-NLS-1$
+ }
+
+ private String generateFileName(Class clazz, Runner runner) {
+ return "result/result_." + clazz.getName() + "_" + runner //$NON-NLS-1$ //$NON-NLS-2$
+ + ".txt"; //$NON-NLS-1$
+ }
+}
Deleted: trunk/punit/src/org/punit/reporter/logger/LogListener.java
===================================================================
--- trunk/punit/src/org/punit/logger/LogListener.java 2007-05-12 22:31:56 UTC (rev 30)
+++ trunk/punit/src/org/punit/reporter/logger/LogListener.java 2007-05-13 21:34:57 UTC (rev 45)
@@ -1,153 +0,0 @@
-package org.punit.logger;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.util.*;
-import java.util.logging.*;
-
-import org.punit.events.*;
-import org.punit.util.*;
-import org.punit.watcher.*;
-
-public class LogListener implements RunnerEventListener, ClassEventListener,
- MethodEventListener, WatcherEventListener {
-
- Summary _summary = new Summary();
-
- private boolean _watchersStart;
-
- public void onRunnerStart(Class clazz) {
- _summary.start();
- }
-
- public void onRunnerEnd(Class clazz) {
- _summary.stop();
- _summary.log(this);
- ;
- }
-
- public void onClassStart(Class clazz) {
- log(clazz.getName() + "\n", Level.INFO);
- }
-
- public void onClassEnd(Class clazz) {
-
- }
-
- public void onMethodStart(Method method) {
- log(LoggerUtil.simpleMethodName(method), Level.INFO);
- }
-
- public void onMethodEnd(Method method, Throwable t) {
- _summary.countMethod();
- log("\n", Level.INFO);
- if (t != null) {
- log(t.toString() + "\n", Level.INFO);
- _summary.addThrowable(t);
- }
- }
-
- public void onWatchersStart() {
- _watchersStart = true;
- }
-
- public void onWatcherStart(Watcher watch) {
- }
-
- public void onWatchersEnd() {
- log("]", Level.FINE);
- }
-
- public void onWatcherEnd(Watcher watch) {
- String watchValue = watch.stringValue();
- if(_watchersStart) {
- log(" - [" + watchValue, Level.FINE);
- } else {
- log("," + watch.stringValue(), Level.FINE);
- }
- _watchersStart = false;
- }
-
- public PrintStream _ps = System.err;
-
- public Level _level = Level.FINE;
-
- public void setLogLevel(Level level) {
- _level = level;
- }
-
- public void setOutputStream(PrintStream ps) {
- _ps = ps;
- }
-
- public void log(String message, Level level) {
- if (_ps == null) {
- return;
- }
- if (level.intValue() < _level.intValue()) {
- return;
- }
- _ps.print(message);
- _ps.flush();
- }
-
- static class Summary {
- private int _methodCount;
-
- private TimeWatcher _timeWatcher = new TimeWatcher();
-
- private List _throwableList = new ArrayList();
-
- public void countMethod() {
- ++_methodCount;
- }
-
- public void start() {
- _timeWatcher.start();
- }
-
- public void stop() {
- _timeWatcher.stop();
- }
-
- /*
- * The format is:
- *
- * Total: 4 (GREEN) - 156ms
- *
- * or:
- *
- * Total: 2 (RED) - 120ms
- * 1)java.lang.IllegalArgumentException
- * at tests.SimpleTestSample.test1(SimpleTestSample.java:20)
- * 2)java.lang.NullPointerException
- * at tests.SimpleTestSample.test2(SimpleTestSample.java:24)
- *
- */
- public void log(final LogListener logger) {
- StringBuffer sb = new StringBuffer("Total: ");
- sb.append(_methodCount);
- int failures = _throwableList.size();
- if (failures == 0) {
- sb.append(" (GREEN) - ");
- } else {
- sb.append(" (RED) - ");
- }
- sb.append(_timeWatcher.stringValue());
- sb.append("\n");
- logger.log(sb.toString(), Level.INFO);
- VisitorUtil.traverse(_throwableList.iterator(), new Visitor() {
- int count = 0;
-
- public void visit(Object obj) {
- logger.log(++count + ")", Level.INFO);
- ((Throwable) obj).printStackTrace(logger._ps);
- }
- });
- }
-
- public void addThrowable(Throwable t) {
- _throwableList.add(t);
- }
- }
-}
Copied: trunk/punit/src/org/punit/reporter/logger/StreamLoggerListener.java (from rev 40, trunk/punit/src/org/punit/logger/StreamLoggerListener.java)
===================================================================
--- trunk/punit/src/org/punit/reporter/logger/StreamLoggerListener.java (rev 0)
+++ trunk/punit/src/org/punit/reporter/logger/StreamLoggerListener.java 2007-05-13 21:34:57 UTC (rev 45)
@@ -0,0 +1,176 @@
+package org.punit.reporter.logger;
+
+import java.io.*;
+import java.lang.reflect.*;
+import java.util.*;
+import java.util.logging.*;
+
+import org.punit.events.*;
+import org.punit.message.*;
+import org.punit.runner.*;
+import org.punit.util.*;
+import org.punit.watcher.*;
+
+public class StreamLoggerListener implements PUnitEvent {
+ public PrintStream _ps;
+
+ Summary _summary = new Summary();
+
+ private boolean _watchersStart;
+
+ public Level _level = Level.FINE;
+
+ public StreamLoggerListener() {
+ }
+
+ public StreamLoggerListener(PrintStream ps) {
+ _ps = ps;
+ }
+
+ public void onRunnerStart(Class clazz, Runner runner) {
+ _summary.start();
+ log(Messages.getString("logger.01") + clazz.getName() + runner //$NON-NLS-1$
+ + LoggerUtil.LINE_SEPERATOR, Level.INFO);
+ }
+
+ public void onRunnerEnd(Class clazz, Runner runner) {
+ _summary.stop();
+ _summary.log(this);
+ }
+
+ public void onClassStart(Class clazz) {
+ log(clazz.getName() + LoggerUtil.LINE_SEPERATOR, Level.INFO);
+ }
+
+ public void onClassEnd(Class clazz) {
+
+ }
+
+ public void onMethodStart(Method method) {
+ log(LoggerUtil.simpleMethodName(method), Level.INFO);
+ }
+
+ public void onMethodEnd(Method method, Throwable t) {
+ _summary.countMethod();
+ logln(Level.INFO);
+ if (t != null) {
+ logln(t.toString(), Level.INFO);
+ _summary.addThrowable(t);
+ }
+ }
+
+ public void onWatchersStart() {
+ _watchersStart = true;
+ }
+
+ public void onWatcherStart(Watcher watch) {
+ }
+
+ public void onWatchersEnd() {
+ log("]", Level.FINE); //$NON-NLS-1$
+ }
+
+ public void onWatcherEnd(Watcher watch) {
+ String watchValue = watch.stringValue();
+ if (_watchersStart) {
+ log(" - [" + watchValue, Level.FINE); //$NON-NLS-1$
+ } else {
+ log("," + watch.stringValue(), Level.FINE); //$NON-NLS-1$
+ }
+ _watchersStart = false;
+ }
+
+ public void setLogLevel(Level level) {
+ _level = level;
+ }
+
+ public void setOutputStream(PrintStream ps) {
+ _ps = ps;
+ }
+
+ public void logln(Level level) {
+ log(LoggerUtil.LINE_SEPERATOR, level);
+ }
+
+ public void logln(String message, Level level) {
+ log(message + LoggerUtil.LINE_SEPERATOR, level);
+ }
+
+ public void log(String message, Level level) {
+ if (_ps == null) {
+ return;
+ }
+ if (level.intValue() < _level.intValue()) {
+ return;
+ }
+ _ps.print(message);
+ _ps.flush();
+ }
+
+ static class Summary {
+ private int _methodCount;
+
+ private TimeWatcher _timeWatcher = new TimeWatcher();
+
+ private List _throwableList = new ArrayList();
+
+ public void countMethod() {
+ ++_methodCount;
+ }
+
+ public void start() {
+ _timeWatcher.start();
+ _methodCount = 0;
+ _throwableList.clear();
+ }
+
+ public void stop() {
+ _timeWatcher.stop();
+ }
+
+ /*
+ * The format is:
+ *
+ * Total: 4 (GREEN) - 156ms
+ *
+ * or:
+ *
+ * Total: 2 (RED) - 120ms 1)java.lang.IllegalArgumentException at
+ * tests.SimpleTestSample.test1(SimpleTestSample.java:20)
+ * 2)java.lang.NullPointerException at
+ * tests.SimpleTestSample.test2(SimpleTestSample.java:24)
+ *
+ */
+ public void log(final StreamLoggerListener logger) {
+ StringBuffer sb = new StringBuffer();
+ sb.append(Messages.getString("logger.02")); //$NON-NLS-1$
+ sb.append(_methodCount);
+ sb.append(", "); //$NON-NLS-1$
+ sb.append(Messages.getString("logger.03")); //$NON-NLS-1$
+ int failures = _throwableList.size();
+ sb.append(failures);
+ sb.append(" ("); //$NON-NLS-1$
+ if (failures == 0) {
+ sb.append(Messages.getString("logger.04")); //$NON-NLS-1$
+ } else {
+ sb.append(Messages.getString("logger.05")); //$NON-NLS-1$
+ }
+ sb.append(") "); //$NON-NLS-1$
+ sb.append(_timeWatcher.stringValue());
+ sb.append(LoggerUtil.LINE_SEPERATOR);
+ logger.log(sb.toString(), Level.INFO);
+ VisitorUtil.traverse(_throwableList.iterator(), new Visitor() {
+ int count = 0;
+ public void visit(Object obj) {
+ logger.log(++count + ")", Level.INFO); //$NON-NLS-1$
+ ((Throwable) obj).printStackTrace(logger._ps);
+ }
+ });
+ }
+
+ public void addThrowable(Throwable t) {
+ _throwableList.add(t);
+ }
+ }
+
+}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-14 05:57:42
|
Revision: 54
http://p-unit.svn.sourceforge.net/p-unit/?rev=54&view=rev
Author: zhanghuangzhu
Date: 2007-05-13 22:57:44 -0700 (Sun, 13 May 2007)
Log Message:
-----------
Andrew Zhang: refactored org.punit.reporter package.
Modified Paths:
--------------
trunk/punit/src/org/punit/reporter/stream/ConsoleLoggerListener.java
trunk/punit/src/org/punit/reporter/stream/FileLoggerListener.java
trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java
trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
Added Paths:
-----------
trunk/punit/src/org/punit/reporter/stream/
Removed Paths:
-------------
trunk/punit/src/org/punit/reporter/logger/
Copied: trunk/punit/src/org/punit/reporter/stream (from rev 49, trunk/punit/src/org/punit/reporter/logger)
Modified: trunk/punit/src/org/punit/reporter/stream/ConsoleLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/reporter/logger/ConsoleLoggerListener.java 2007-05-13 21:44:59 UTC (rev 49)
+++ trunk/punit/src/org/punit/reporter/stream/ConsoleLoggerListener.java 2007-05-14 05:57:44 UTC (rev 54)
@@ -1,4 +1,4 @@
-package org.punit.reporter.logger;
+package org.punit.reporter.stream;
public class ConsoleLoggerListener extends StreamLoggerListener {
Modified: trunk/punit/src/org/punit/reporter/stream/FileLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/reporter/logger/FileLoggerListener.java 2007-05-13 21:44:59 UTC (rev 49)
+++ trunk/punit/src/org/punit/reporter/stream/FileLoggerListener.java 2007-05-14 05:57:44 UTC (rev 54)
@@ -1,4 +1,4 @@
-package org.punit.reporter.logger;
+package org.punit.reporter.stream;
import java.io.*;
Modified: trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/reporter/logger/StreamLoggerListener.java 2007-05-13 21:44:59 UTC (rev 49)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java 2007-05-14 05:57:44 UTC (rev 54)
@@ -1,4 +1,4 @@
-package org.punit.reporter.logger;
+package org.punit.reporter.stream;
import java.io.*;
import java.lang.reflect.*;
Modified: trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-14 05:55:56 UTC (rev 53)
+++ trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-14 05:57:44 UTC (rev 54)
@@ -5,7 +5,7 @@
import org.punit.builder.*;
import org.punit.events.*;
-import org.punit.reporter.logger.*;
+import org.punit.reporter.stream.*;
import org.punit.result.*;
import org.punit.runner.method.*;
import org.punit.type.*;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-14 05:59:13
|
Revision: 55
http://p-unit.svn.sourceforge.net/p-unit/?rev=55&view=rev
Author: zhanghuangzhu
Date: 2007-05-13 22:59:15 -0700 (Sun, 13 May 2007)
Log Message:
-----------
Andrew Zhang: refactored org.punit.reporter package.
Modified Paths:
--------------
trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
Added Paths:
-----------
trunk/punit/src/org/punit/reporter/stream/console/
trunk/punit/src/org/punit/reporter/stream/console/ConsoleLoggerListener.java
trunk/punit/src/org/punit/reporter/stream/file/
trunk/punit/src/org/punit/reporter/stream/file/FileLoggerListener.java
Removed Paths:
-------------
trunk/punit/src/org/punit/reporter/stream/ConsoleLoggerListener.java
trunk/punit/src/org/punit/reporter/stream/FileLoggerListener.java
Deleted: trunk/punit/src/org/punit/reporter/stream/ConsoleLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/ConsoleLoggerListener.java 2007-05-14 05:57:44 UTC (rev 54)
+++ trunk/punit/src/org/punit/reporter/stream/ConsoleLoggerListener.java 2007-05-14 05:59:15 UTC (rev 55)
@@ -1,9 +0,0 @@
-package org.punit.reporter.stream;
-
-public class ConsoleLoggerListener extends StreamLoggerListener {
-
- public ConsoleLoggerListener() {
- super(System.err);
- }
-
-}
Deleted: trunk/punit/src/org/punit/reporter/stream/FileLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/FileLoggerListener.java 2007-05-14 05:57:44 UTC (rev 54)
+++ trunk/punit/src/org/punit/reporter/stream/FileLoggerListener.java 2007-05-14 05:59:15 UTC (rev 55)
@@ -1,34 +0,0 @@
-package org.punit.reporter.stream;
-
-import java.io.*;
-
-import org.punit.runner.*;
-
-public class FileLoggerListener extends StreamLoggerListener {
-
- public void onRunnerStart(Class clazz, Runner runner) {
- initResultFolder();
- String fileName = generateFileName(clazz, runner);
- try {
- PrintStream ps = new PrintStream(fileName);
- setOutputStream(ps);
- } catch (Exception e) {
- throw new IllegalStateException(e);
- }
- super.onRunnerStart(clazz, runner);
- }
-
- public void onRunnerEnd(Class clazz, Runner runner) {
- super.onRunnerEnd(clazz, runner);
- _ps.close();
- }
-
- private void initResultFolder() {
- new File("result").mkdir(); //$NON-NLS-1$
- }
-
- private String generateFileName(Class clazz, Runner runner) {
- return "result/result_." + clazz.getName() + "_" + runner //$NON-NLS-1$ //$NON-NLS-2$
- + ".txt"; //$NON-NLS-1$
- }
-}
Copied: trunk/punit/src/org/punit/reporter/stream/console/ConsoleLoggerListener.java (from rev 54, trunk/punit/src/org/punit/reporter/stream/ConsoleLoggerListener.java)
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/console/ConsoleLoggerListener.java (rev 0)
+++ trunk/punit/src/org/punit/reporter/stream/console/ConsoleLoggerListener.java 2007-05-14 05:59:15 UTC (rev 55)
@@ -0,0 +1,11 @@
+package org.punit.reporter.stream.console;
+
+import org.punit.reporter.stream.*;
+
+public class ConsoleLoggerListener extends StreamLoggerListener {
+
+ public ConsoleLoggerListener() {
+ super(System.err);
+ }
+
+}
Copied: trunk/punit/src/org/punit/reporter/stream/file/FileLoggerListener.java (from rev 54, trunk/punit/src/org/punit/reporter/stream/FileLoggerListener.java)
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/file/FileLoggerListener.java (rev 0)
+++ trunk/punit/src/org/punit/reporter/stream/file/FileLoggerListener.java 2007-05-14 05:59:15 UTC (rev 55)
@@ -0,0 +1,35 @@
+package org.punit.reporter.stream.file;
+
+import java.io.*;
+
+import org.punit.reporter.stream.*;
+import org.punit.runner.*;
+
+public class FileLoggerListener extends StreamLoggerListener {
+
+ public void onRunnerStart(Class clazz, Runner runner) {
+ initResultFolder();
+ String fileName = generateFileName(clazz, runner);
+ try {
+ PrintStream ps = new PrintStream(fileName);
+ setOutputStream(ps);
+ } catch (Exception e) {
+ throw new IllegalStateException(e);
+ }
+ super.onRunnerStart(clazz, runner);
+ }
+
+ public void onRunnerEnd(Class clazz, Runner runner) {
+ super.onRunnerEnd(clazz, runner);
+ _ps.close();
+ }
+
+ private void initResultFolder() {
+ new File("result").mkdir(); //$NON-NLS-1$
+ }
+
+ private String generateFileName(Class clazz, Runner runner) {
+ return "result/result_." + clazz.getName() + "_" + runner //$NON-NLS-1$ //$NON-NLS-2$
+ + ".txt"; //$NON-NLS-1$
+ }
+}
Modified: trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-14 05:57:44 UTC (rev 54)
+++ trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-14 05:59:15 UTC (rev 55)
@@ -6,6 +6,8 @@
import org.punit.builder.*;
import org.punit.events.*;
import org.punit.reporter.stream.*;
+import org.punit.reporter.stream.console.*;
+import org.punit.reporter.stream.file.*;
import org.punit.result.*;
import org.punit.runner.method.*;
import org.punit.type.*;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-14 06:10:18
|
Revision: 57
http://p-unit.svn.sourceforge.net/p-unit/?rev=57&view=rev
Author: zhanghuangzhu
Date: 2007-05-13 23:10:20 -0700 (Sun, 13 May 2007)
Log Message:
-----------
Andrew Zhang: refactored onWathcersStart/End.
Modified Paths:
--------------
trunk/punit/src/org/punit/events/WatcherEventListener.java
trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java
trunk/punit/src/org/punit/runner/method/AbstractTestMethodRunner.java
Modified: trunk/punit/src/org/punit/events/WatcherEventListener.java
===================================================================
--- trunk/punit/src/org/punit/events/WatcherEventListener.java 2007-05-14 06:00:14 UTC (rev 56)
+++ trunk/punit/src/org/punit/events/WatcherEventListener.java 2007-05-14 06:10:20 UTC (rev 57)
@@ -5,12 +5,12 @@
import org.punit.watcher.*;
public interface WatcherEventListener extends EventListener {
- public void onWatchersStart();
+ public void onWatchersStart(Watcher[] watches);
public void onWatcherStart(Watcher watch);
public void onWatcherEnd(Watcher watch);
- public void onWatchersEnd();
+ public void onWatchersEnd(Watcher[] watches);
}
Modified: trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java 2007-05-14 06:00:14 UTC (rev 56)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLoggerListener.java 2007-05-14 06:10:20 UTC (rev 57)
@@ -59,14 +59,14 @@
}
}
- public void onWatchersStart() {
+ public void onWatchersStart(Watcher[] watchers) {
_watchersStart = true;
}
public void onWatcherStart(Watcher watch) {
}
- public void onWatchersEnd() {
+ public void onWatchersEnd(Watcher[] watchers) {
log("]", Level.FINE); //$NON-NLS-1$
}
Modified: trunk/punit/src/org/punit/runner/method/AbstractTestMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/method/AbstractTestMethodRunner.java 2007-05-14 06:00:14 UTC (rev 56)
+++ trunk/punit/src/org/punit/runner/method/AbstractTestMethodRunner.java 2007-05-14 06:10:20 UTC (rev 57)
@@ -161,7 +161,7 @@
private void onWatchersStart() {
VisitorUtil.traverse(_watcherEventListeners.iterator(), new Visitor() {
public void visit(Object obj) {
- ((WatcherEventListener) obj).onWatchersStart();
+ ((WatcherEventListener) obj).onWatchersStart(_watchers);
}
});
}
@@ -193,7 +193,7 @@
private void onWatchersEnd() {
VisitorUtil.traverse(_methodEventListeners.iterator(), new Visitor() {
public void visit(Object obj) {
- ((WatcherEventListener) obj).onWatchersEnd();
+ ((WatcherEventListener) obj).onWatchersEnd(_watchers);
}
});
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-16 19:10:51
|
Revision: 86
http://p-unit.svn.sourceforge.net/p-unit/?rev=86&view=rev
Author: zhanghuangzhu
Date: 2007-05-16 12:10:52 -0700 (Wed, 16 May 2007)
Log Message:
-----------
Andrew Zhang: now it's ready to use runner.cfg to run child vm.
Modified Paths:
--------------
trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
trunk/punit/src/org/punit/runner/PUnitSoloRunner.java
trunk/punit/src/org/punit/watcher/MemoryWatcher.java
Modified: trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-16 18:49:17 UTC (rev 85)
+++ trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-16 19:10:52 UTC (rev 86)
@@ -13,6 +13,7 @@
import org.punit.util.*;
public abstract class PUnitAbstractRunner implements Runner {
+
private TestSuiteBuilder _testSuiteBuiler;
private TestMethodBuilder _testMethodBuilder;
@@ -25,8 +26,10 @@
private FileLoggerListener _fileLogger = new FileLoggerListener();
- private PUnitArgs _pargs;
-
+ public Class _testClass;
+
+ private transient PUnitArgs _pargs;
+
public PUnitAbstractRunner(TestSuiteBuilder testSuiteBuiler,
TestMethodBuilder testMethodBuilder,
TestMethodRunner testMethodRunner) {
@@ -38,6 +41,7 @@
public void run(Class clazz) {
punitArgs(defaultPUnitRunnerArgs(clazz, null));
+ _testClass = clazz;
runImpl(clazz);
}
Modified: trunk/punit/src/org/punit/runner/PUnitSoloRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitSoloRunner.java 2007-05-16 18:49:17 UTC (rev 85)
+++ trunk/punit/src/org/punit/runner/PUnitSoloRunner.java 2007-05-16 19:10:52 UTC (rev 86)
@@ -7,9 +7,6 @@
public class PUnitSoloRunner extends PUnitAbstractRunner {
- /**
- *
- */
private static final long serialVersionUID = -1868956002428374452L;
/**
Modified: trunk/punit/src/org/punit/watcher/MemoryWatcher.java
===================================================================
--- trunk/punit/src/org/punit/watcher/MemoryWatcher.java 2007-05-16 18:49:17 UTC (rev 85)
+++ trunk/punit/src/org/punit/watcher/MemoryWatcher.java 2007-05-16 19:10:52 UTC (rev 86)
@@ -5,9 +5,6 @@
public class MemoryWatcher implements Watcher {
- /**
- *
- */
private static final long serialVersionUID = -2483161714907047937L;
private long _startUsedMemory;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-05-17 14:21:50
|
Revision: 97
http://p-unit.svn.sourceforge.net/p-unit/?rev=97&view=rev
Author: zhanghuangzhu
Date: 2007-05-17 07:21:48 -0700 (Thu, 17 May 2007)
Log Message:
-----------
Andrew Zhang: create result folder at the beginning.
Modified Paths:
--------------
trunk/punit/src/org/punit/reporter/stream/file/FileLoggerListener.java
trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
Modified: trunk/punit/src/org/punit/reporter/stream/file/FileLoggerListener.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/file/FileLoggerListener.java 2007-05-17 14:12:13 UTC (rev 96)
+++ trunk/punit/src/org/punit/reporter/stream/file/FileLoggerListener.java 2007-05-17 14:21:48 UTC (rev 97)
@@ -13,7 +13,6 @@
if(isParentRunner(runner)) {
return;
}
- initResultFolder();
String fileName = generateFileName(clazz, runner);
try {
PrintStream ps = new PrintStream(fileName);
@@ -32,10 +31,6 @@
_ps.close();
}
- private void initResultFolder() {
- new File(RunnerConstants.RESULT_FOLDER).mkdir();
- }
-
private String generateFileName(Class clazz, Runner runner) {
RunnerProperties properties = runner.properties();
StringBuffer sb = new StringBuffer();
Modified: trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-17 14:12:13 UTC (rev 96)
+++ trunk/punit/src/org/punit/runner/PUnitAbstractRunner.java 2007-05-17 14:21:48 UTC (rev 97)
@@ -7,7 +7,6 @@
import org.punit.builder.*;
import org.punit.events.*;
import org.punit.exception.*;
-import org.punit.reporter.*;
import org.punit.reporter.stream.console.*;
import org.punit.reporter.stream.file.*;
import org.punit.runner.method.*;
@@ -123,6 +122,7 @@
}
private void onRunnerStart(final Class clazz) {
+ initResultFolder();
TraverserUtil.traverse(_eventListeners.iterator(), new Traverser() {
public void traverse(Object obj) {
((PUnitEventListener) obj).onRunnerStart(clazz,
@@ -130,7 +130,11 @@
}
});
}
-
+
+ private void initResultFolder() {
+ new File(RunnerConstants.RESULT_FOLDER).mkdir();
+ }
+
private void onRunnerEnd(final Class clazz) {
TraverserUtil.traverse(_eventListeners.iterator(), new Traverser() {
public void traverse(Object obj) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-10-14 13:49:16
|
Revision: 236
http://p-unit.svn.sourceforge.net/p-unit/?rev=236&view=rev
Author: zhanghuangzhu
Date: 2007-10-14 06:49:20 -0700 (Sun, 14 Oct 2007)
Log Message:
-----------
Andrew Zhang: make result filename configurable.
Modified Paths:
--------------
trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java
trunk/punit/src/org/punit/util/ReporterUtil.java
Modified: trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java 2007-10-14 13:49:07 UTC (rev 235)
+++ trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java 2007-10-14 13:49:20 UTC (rev 236)
@@ -12,8 +12,21 @@
private static final long serialVersionUID = -4086254621600007888L;
+ private String _fileName;
+
+ public FileLogger() {
+ this(null);
+ }
+
+ public FileLogger(String fileName) {
+ _fileName = fileName;
+ }
+
public void onRunnerStart(Class clazz, Runner runner) {
- String fileName = ReporterUtil.generateFileName(clazz, runner) + ".txt"; //$NON-NLS-1$
+ if(_fileName == null) {
+ _fileName = ReporterUtil.defaultFileName(clazz, runner) + ".txt"; //$NON-NLS-1$
+ }
+ String fileName = ReporterUtil.generateFileName(_fileName);
try {
PrintStream ps = new PrintStream(fileName);
setStream(ps, ps);
Modified: trunk/punit/src/org/punit/util/ReporterUtil.java
===================================================================
--- trunk/punit/src/org/punit/util/ReporterUtil.java 2007-10-14 13:49:07 UTC (rev 235)
+++ trunk/punit/src/org/punit/util/ReporterUtil.java 2007-10-14 13:49:20 UTC (rev 236)
@@ -38,21 +38,27 @@
return sb.toString();
}
- public static String generateFileName(Class clazz, Runner runner) {
- RunnerProperties properties = runner.properties();
+ public static String generateFileName(String fileName) {
StringBuffer sb = new StringBuffer();
sb.append(IOUtil.getCurrentPath());
sb.append(File.separator);
sb.append(RunnerConstants.RESULT_FOLDER);
sb.append(File.separator);
- sb.append(clazz.getName());
+ sb.append(fileName);
+ return sb.toString();
+ }
+
+ public static String defaultFileName(Class clazz, Runner runner) {
+ StringBuffer sb = new StringBuffer();
+ sb.append(clazz.getName());
sb.append("."); //$NON-NLS-1$
sb.append(runner.punitName());
+ RunnerProperties properties = runner.properties();
if(properties.vmName != null) {
sb.append("."); //$NON-NLS-1$
sb.append(properties.vmName);
}
return sb.toString();
- }
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-11-19 05:22:12
|
Revision: 253
http://p-unit.svn.sourceforge.net/p-unit/?rev=253&view=rev
Author: zhanghuangzhu
Date: 2007-11-18 21:22:16 -0800 (Sun, 18 Nov 2007)
Log Message:
-----------
Andrew Zhang: make result folder configurable.
Modified Paths:
--------------
trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java
trunk/punit/src/org/punit/runner/AbstractRunner.java
trunk/punit/src/org/punit/runner/Runner.java
trunk/punit/src/org/punit/util/ReporterUtil.java
Removed Paths:
-------------
trunk/punit/src/org/punit/runner/RunnerConstants.java
Modified: trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2007-11-19 05:21:48 UTC (rev 252)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2007-11-19 05:22:16 UTC (rev 253)
@@ -174,7 +174,7 @@
log(_errStream, message, level);
}
- public void log(PrintStream ps, String message, Level level) {
+ private void log(PrintStream ps, String message, Level level) {
if (ps == null) {
return;
}
Modified: trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java 2007-11-19 05:21:48 UTC (rev 252)
+++ trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java 2007-11-19 05:22:16 UTC (rev 253)
@@ -25,10 +25,11 @@
public void onRunnerStart(Class clazz, Runner runner) {
if(_fileName == null) {
_fileName = ReporterUtil.defaultFileName(clazz, runner) + ".txt"; //$NON-NLS-1$
+ _fileName = ReporterUtil.generateFileName(_fileName, runner);
}
- String fileName = ReporterUtil.generateFileName(_fileName);
+
try {
- PrintStream ps = new PrintStream(fileName);
+ PrintStream ps = new PrintStream(_fileName);
setStream(ps, ps);
} catch (Exception e) {
throw new IllegalStateException(e);
Modified: trunk/punit/src/org/punit/runner/AbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/AbstractRunner.java 2007-11-19 05:21:48 UTC (rev 252)
+++ trunk/punit/src/org/punit/runner/AbstractRunner.java 2007-11-19 05:22:16 UTC (rev 253)
@@ -13,6 +13,7 @@
import org.punit.events.EventListener;
import org.punit.exception.IOException;
import org.punit.exception.ReflectionException;
+import org.punit.message.Messages;
import org.punit.method.builder.TestMethodBuilder;
import org.punit.method.runner.MethodRunner;
import org.punit.reporter.TestResult;
@@ -48,6 +49,8 @@
private Convention _convention;
+ private String _folder;
+
public AbstractRunner(TestSuiteBuilder testSuiteBuiler,
TestMethodBuilder testMethodBuilder, MethodRunner testMethodRunner) {
_testSuiteBuiler = testSuiteBuiler;
@@ -67,7 +70,7 @@
}
public int run(Class clazz) {
- initResultFolder();
+ initResultFolder();
onRunnerStart(clazz);
Object[] testClasses = _testSuiteBuiler.buildTestClasses(clazz);
runTestClasses(testClasses);
@@ -75,7 +78,11 @@
return _testResult.failures().size();
}
- public int run(Class clazz, RunnerProperties properties) {
+ private void initResultFolder() {
+ new File(resultFolder()).mkdirs();
+ }
+
+ public int run(Class clazz, RunnerProperties properties) {
setRunnerProperties(properties);
return run(clazz);
}
@@ -115,7 +122,6 @@
}
public void runVMs(Class clazz, VM[] vms) {
- initResultFolder();
_properties.isParent = true;
_properties.vms = vms;
for (int i = 0; i < vms.length; ++i) {
@@ -180,12 +186,12 @@
}
private String runnerConfigFileName(VM vm) {
- return RunnerConstants.RESULT_FOLDER + File.separator + vm.punitName()
+ return resultFolder() + File.separator + vm.punitName()
+ ".cfg"; //$NON-NLS-1$
}
private String runnerPropertiesFileName(VM vm) {
- return RunnerConstants.RESULT_FOLDER + File.separator + vm.punitName()
+ return resultFolder() + File.separator + vm.punitName()
+ ".props"; //$NON-NLS-1$
}
@@ -215,10 +221,6 @@
});
}
- private void initResultFolder() {
- new File(RunnerConstants.RESULT_FOLDER).mkdir();
- }
-
private void onRunnerEnd(final Class clazz) {
TraverserUtil.traverse(_eventListeners.iterator(), new Traverser() {
public void traverse(Object obj) {
@@ -235,6 +237,17 @@
}
}
+ public void resultFolder(String folder) {
+ _folder = folder;
+ }
+
+ public String resultFolder() {
+ if(_folder == null) {
+ _folder = Messages.getString("reporter.01"); //$NON-NLS-1$
+ }
+ return _folder;
+ }
+
private class RunTestClassTask implements Runnable {
private Class _clazz;
Modified: trunk/punit/src/org/punit/runner/Runner.java
===================================================================
--- trunk/punit/src/org/punit/runner/Runner.java 2007-11-19 05:21:48 UTC (rev 252)
+++ trunk/punit/src/org/punit/runner/Runner.java 2007-11-19 05:22:16 UTC (rev 253)
@@ -27,4 +27,8 @@
public TestResult testResult();
+ public void resultFolder(String folder);
+
+ public String resultFolder();
+
}
Deleted: trunk/punit/src/org/punit/runner/RunnerConstants.java
===================================================================
--- trunk/punit/src/org/punit/runner/RunnerConstants.java 2007-11-19 05:21:48 UTC (rev 252)
+++ trunk/punit/src/org/punit/runner/RunnerConstants.java 2007-11-19 05:22:16 UTC (rev 253)
@@ -1,10 +0,0 @@
-package org.punit.runner;
-
-import org.punit.message.*;
-
-public class RunnerConstants {
-
- public static final String RESULT_FOLDER = Messages
- .getString("reporter.01"); //$NON-NLS-1$
-
-}
Modified: trunk/punit/src/org/punit/util/ReporterUtil.java
===================================================================
--- trunk/punit/src/org/punit/util/ReporterUtil.java 2007-11-19 05:21:48 UTC (rev 252)
+++ trunk/punit/src/org/punit/util/ReporterUtil.java 2007-11-19 05:22:16 UTC (rev 253)
@@ -4,7 +4,6 @@
import java.lang.reflect.Method;
import org.punit.runner.Runner;
-import org.punit.runner.RunnerConstants;
import org.punit.runner.RunnerProperties;
public class ReporterUtil {
@@ -38,11 +37,11 @@
return sb.toString();
}
- public static String generateFileName(String fileName) {
+ public static String generateFileName(String fileName, Runner runner) {
StringBuffer sb = new StringBuffer();
sb.append(IOUtil.getCurrentPath());
sb.append(File.separator);
- sb.append(RunnerConstants.RESULT_FOLDER);
+ sb.append(runner.resultFolder());
sb.append(File.separator);
sb.append(fileName);
return sb.toString();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-11-27 12:54:35
|
Revision: 254
http://p-unit.svn.sourceforge.net/p-unit/?rev=254&view=rev
Author: zhanghuangzhu
Date: 2007-11-27 04:54:38 -0800 (Tue, 27 Nov 2007)
Log Message:
-----------
az: Added a Message hack, and refactored StreamLogger. Now p-unit is ready for Android!
Modified Paths:
--------------
trunk/punit/src/org/punit/message/Messages.java
trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
trunk/punit/src/org/punit/reporter/stream/console/ConsoleLogger.java
trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java
trunk/punit/src/org/punit/runner/AbstractRunner.java
trunk/punit/src/org/punit/util/ReporterUtil.java
Added Paths:
-----------
trunk/punit/src/org/punit/message/MessageStrings.java
trunk/punit/src/org/punit/method/runner/VanillaRunner.java
Added: trunk/punit/src/org/punit/message/MessageStrings.java
===================================================================
--- trunk/punit/src/org/punit/message/MessageStrings.java (rev 0)
+++ trunk/punit/src/org/punit/message/MessageStrings.java 2007-11-27 12:54:38 UTC (rev 254)
@@ -0,0 +1,30 @@
+package org.punit.message;
+
+public class MessageStrings {
+ public static String[][] DATA = new String[][] {
+ {"builder.01", "\\ should implement"},
+ {"logger.01", "Starting"},
+ {"logger.total", "total:"},
+ {"logger.failures","failures:"},
+ {"logger.green","GREEN"},
+ {"logger.red", "RED"},
+ {"logger.06", "TestSuite:"},
+ {"runner.01", "solo"},
+ {"runner.02", "solo.param"},
+ {"runner.03", "concurrent"},
+ {"runner.04", "concurrent.param"},
+ {"runner.arguments", "\\ arguments"},
+ {"watcher.bytes", "bytes"},
+ {"watcher.ms", "ms"},
+ {"watcher.memory", "Memory"},
+ {"watcher.time", "Time"},
+ {"reporter.01", "result"},
+ {"reporter.02", "overview"},
+ {"PDFRender.01", "PUnit result\n"},
+ {"PDFRender.02", "the open source performance benchmark framework\n"},
+ {"assert.expected", "Expected"},
+ {"assert.got", ", but got"},
+ {"assert.notsame", "Expected a different object:"},
+ };
+
+}
Property changes on: trunk/punit/src/org/punit/message/MessageStrings.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/punit/src/org/punit/message/Messages.java
===================================================================
--- trunk/punit/src/org/punit/message/Messages.java 2007-11-19 05:22:16 UTC (rev 253)
+++ trunk/punit/src/org/punit/message/Messages.java 2007-11-27 12:54:38 UTC (rev 254)
@@ -5,17 +5,46 @@
public class Messages {
private static final String BUNDLE_NAME = "punit"; //$NON-NLS-1$
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
+ private static ResourceBundle RESOURCE_BUNDLE = null;
+ private static Hashtable MESSAGE_TABLE = null;
+
+ private static boolean isAndroid;
+
private Messages() {
}
+ static {
+ // TODO: The code is a temp quick hack for Android, and will be removed
+ // when Android supports i18n (which has been committed).
+ isAndroid = isAndroid();
+ if (isAndroid) {
+ initMessageTable();
+ } else {
+ RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
+ }
+ }
+
+ private static void initMessageTable() {
+ MESSAGE_TABLE = new Hashtable();
+ for (int i = 0; i < MessageStrings.DATA.length; ++i) {
+ MESSAGE_TABLE.put(MessageStrings.DATA[i][0],
+ MessageStrings.DATA[i][1]);
+ }
+ }
+
public static String getString(String key) {
+ if(isAndroid) {
+ return (String) MESSAGE_TABLE.get(key);
+ }
try {
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e) {
return '!' + key + '!';
}
}
+
+ public static boolean isAndroid() {
+ return "Dalvik".equals(System.getProperty("java.vm.name"));
+ }
}
Added: trunk/punit/src/org/punit/method/runner/VanillaRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/VanillaRunner.java (rev 0)
+++ trunk/punit/src/org/punit/method/runner/VanillaRunner.java 2007-11-27 12:54:38 UTC (rev 254)
@@ -0,0 +1,70 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+package org.punit.method.runner;
+
+import java.util.*;
+
+import org.punit.events.EventListener;
+import org.punit.method.builder.*;
+import org.punit.reporter.*;
+import org.punit.runner.*;
+import org.punit.suite.builder.*;
+
+public class VanillaRunner implements Runner {
+ private Runner _runner;
+
+ public VanillaRunner(Runner runner) {
+ _runner = runner;
+ }
+
+ public TestMethodBuilder methodBuilder() {
+ return _runner.methodBuilder();
+ }
+
+ public MethodRunner methodRunner() {
+ return _runner.methodRunner();
+ }
+
+ public RunnerProperties properties() {
+ return _runner.properties();
+ }
+
+ public void resultFolder(String folder) {
+ _runner.resultFolder(folder);
+ }
+
+ public String resultFolder() {
+ return _runner.resultFolder();
+ }
+
+ public int run(Class clazz) {
+ return _runner.run(clazz);
+ }
+
+ public int run(Class clazz, RunnerProperties properties) {
+ return _runner.run(clazz, properties);
+ }
+
+ public TestSuiteBuilder suiteBuilder() {
+ return _runner.suiteBuilder();
+ }
+
+ public TestResult testResult() {
+ return _runner.testResult();
+ }
+
+ public void addEventListener(EventListener listener) {
+ _runner.addEventListener(listener);
+ }
+
+ public List eventListeners() {
+ return _runner.eventListeners();
+ }
+
+ public void removeEventListener(EventListener listener) {
+ _runner.removeEventListener(listener);
+ }
+
+ public String punitName() {
+ return _runner.punitName();
+ }
+}
Property changes on: trunk/punit/src/org/punit/method/runner/VanillaRunner.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2007-11-19 05:22:16 UTC (rev 253)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2007-11-27 12:54:38 UTC (rev 254)
@@ -2,7 +2,7 @@
package org.punit.reporter.stream;
-import java.io.PrintStream;
+import java.io.PrintWriter;
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.List;
@@ -21,10 +21,8 @@
public abstract class StreamLogger implements EventListener {
- protected transient PrintStream _outStream;
+ protected transient PrintWriter _writer;
- protected transient PrintStream _errStream;
-
protected transient TestResult _result;
public Level _level = Level.INFO;
@@ -32,11 +30,11 @@
private TimeWatcher _timeWatcher;
public StreamLogger() {
+
}
- public StreamLogger(PrintStream out, PrintStream err) {
- _outStream = out;
- _errStream = err;
+ public StreamLogger(PrintWriter writer) {
+ _writer = writer;
}
public void onRunnerStart(Class clazz, Runner runner) {
@@ -60,8 +58,13 @@
public void onRunnerEnd(Class clazz, Runner runner) {
logResult();
+ closeStream();
}
+ protected void closeStream() {
+ _writer.close();
+ }
+
public void logResult() {
stopTimeWatcher();
StringBuffer sb = new StringBuffer();
@@ -81,13 +84,13 @@
sb.append(") - "); //$NON-NLS-1$
sb.append(_timeWatcher.stringValue());
sb.append(ReporterUtil.LINE_SEPERATOR);
- logErr(sb.toString(), Level.SEVERE);
+ log(sb.toString(), Level.SEVERE);
TraverserUtil.traverse(failures.iterator(), new Traverser() {
int count = 0;
public void traverse(Object obj) {
- logErr(++count + ")", Level.SEVERE); //$NON-NLS-1$
+ log(++count + ")", Level.SEVERE); //$NON-NLS-1$
if(shouldLog(Level.SEVERE)) {
- ((Throwable) obj).printStackTrace(_errStream);
+ ((Throwable) obj).printStackTrace(_writer);
}
}
});
@@ -106,7 +109,7 @@
}
public void onClassStart(Object testInstance) {
- // logln(testInstance.getClass().getName(), Level.INFO);
+ logln(testInstance.getClass().getName(), Level.INFO);
}
public void onClassEnd(Object testInstance, Throwable t) {
@@ -145,17 +148,13 @@
log(sb.toString(), Level.INFO);
}
- public void setStream(PrintStream out, PrintStream err) {
- _outStream = out;
- _errStream = err;
+ public void setWriter(PrintWriter writer) {
+ _writer = writer;
}
- public PrintStream outPrintStream() {
- return _outStream;
- }
- public PrintStream errPrintStream() {
- return _errStream;
+ public PrintWriter writer() {
+ return _writer;
}
public void logln(Level level) {
@@ -167,14 +166,10 @@
}
public void log(String message, Level level) {
- log(_outStream, message, level);
+ log(_writer, message, level);
}
- public void logErr(String message, Level level) {
- log(_errStream, message, level);
- }
-
- private void log(PrintStream ps, String message, Level level) {
+ private void log(PrintWriter ps, String message, Level level) {
if (ps == null) {
return;
}
Modified: trunk/punit/src/org/punit/reporter/stream/console/ConsoleLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/console/ConsoleLogger.java 2007-11-19 05:22:16 UTC (rev 253)
+++ trunk/punit/src/org/punit/reporter/stream/console/ConsoleLogger.java 2007-11-27 12:54:38 UTC (rev 254)
@@ -2,6 +2,8 @@
package org.punit.reporter.stream.console;
+import java.io.PrintWriter;
+
import org.punit.reporter.stream.StreamLogger;
public class ConsoleLogger extends StreamLogger {
@@ -10,15 +12,18 @@
private void readObject(java.io.ObjectInputStream in)
throws java.io.IOException, ClassNotFoundException {
- _outStream = System.out;
- _errStream = System.err;
+ _writer = new PrintWriter(System.err);
}
public ConsoleLogger() {
- super(System.out, System.err);
+ super(new PrintWriter(System.err));
}
public boolean supportParentRunner() {
return false;
}
+
+ protected void closeStream() {
+
+ }
}
Modified: trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java 2007-11-19 05:22:16 UTC (rev 253)
+++ trunk/punit/src/org/punit/reporter/stream/file/FileLogger.java 2007-11-27 12:54:38 UTC (rev 254)
@@ -2,7 +2,7 @@
package org.punit.reporter.stream.file;
-import java.io.PrintStream;
+import java.io.PrintWriter;
import org.punit.reporter.stream.StreamLogger;
import org.punit.runner.Runner;
@@ -24,13 +24,14 @@
public void onRunnerStart(Class clazz, Runner runner) {
if(_fileName == null) {
+ ReporterUtil.initResultFolder(runner);
_fileName = ReporterUtil.defaultFileName(clazz, runner) + ".txt"; //$NON-NLS-1$
_fileName = ReporterUtil.generateFileName(_fileName, runner);
}
try {
- PrintStream ps = new PrintStream(_fileName);
- setStream(ps, ps);
+ PrintWriter ps = new PrintWriter(_fileName);
+ setWriter(ps);
} catch (Exception e) {
throw new IllegalStateException(e);
}
@@ -39,9 +40,11 @@
public void onRunnerEnd(Class clazz, Runner runner) {
super.onRunnerEnd(clazz, runner);
- _outStream.close();
}
+ public void close() {
+ _writer.close();
+ }
public boolean supportParentRunner() {
return false;
}
Modified: trunk/punit/src/org/punit/runner/AbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/AbstractRunner.java 2007-11-19 05:22:16 UTC (rev 253)
+++ trunk/punit/src/org/punit/runner/AbstractRunner.java 2007-11-27 12:54:38 UTC (rev 254)
@@ -70,7 +70,6 @@
}
public int run(Class clazz) {
- initResultFolder();
onRunnerStart(clazz);
Object[] testClasses = _testSuiteBuiler.buildTestClasses(clazz);
runTestClasses(testClasses);
@@ -78,10 +77,6 @@
return _testResult.failures().size();
}
- private void initResultFolder() {
- new File(resultFolder()).mkdirs();
- }
-
public int run(Class clazz, RunnerProperties properties) {
setRunnerProperties(properties);
return run(clazz);
Modified: trunk/punit/src/org/punit/util/ReporterUtil.java
===================================================================
--- trunk/punit/src/org/punit/util/ReporterUtil.java 2007-11-19 05:22:16 UTC (rev 253)
+++ trunk/punit/src/org/punit/util/ReporterUtil.java 2007-11-27 12:54:38 UTC (rev 254)
@@ -1,3 +1,5 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
package org.punit.util;
import java.io.File;
@@ -7,7 +9,10 @@
import org.punit.runner.RunnerProperties;
public class ReporterUtil {
+
public final static String LINE_SEPERATOR;
+
+ private static boolean _isResultFolderCreated;
static {
LINE_SEPERATOR = System.getProperty("line.separator"); //$NON-NLS-1$
@@ -59,5 +64,13 @@
}
return sb.toString();
}
-
+
+ public static void initResultFolder(Runner runner) {
+ if(_isResultFolderCreated) {
+ return;
+ }
+ _isResultFolderCreated = true;
+ new File(runner.resultFolder()).mkdirs();
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-12-25 12:35:01
|
Revision: 261
http://p-unit.svn.sourceforge.net/p-unit/?rev=261&view=rev
Author: zhanghuangzhu
Date: 2007-12-25 04:35:05 -0800 (Tue, 25 Dec 2007)
Log Message:
-----------
Andrew Zhang: introduced VanillaEventListener
Modified Paths:
--------------
trunk/punit/src/org/punit/reporter/TestResult.java
trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
trunk/punit/src/org/punit/watcher/AbstractWatcher.java
Added Paths:
-----------
trunk/punit/src/org/punit/events/VanillaEventListener.java
Added: trunk/punit/src/org/punit/events/VanillaEventListener.java
===================================================================
--- trunk/punit/src/org/punit/events/VanillaEventListener.java (rev 0)
+++ trunk/punit/src/org/punit/events/VanillaEventListener.java 2007-12-25 12:35:05 UTC (rev 261)
@@ -0,0 +1,77 @@
+package org.punit.events;
+
+import java.lang.reflect.*;
+import java.util.*;
+
+import org.punit.runner.*;
+import org.punit.type.*;
+import org.punit.watcher.*;
+
+public class VanillaEventListener implements EventListener {
+
+ private static final long serialVersionUID = -2413131933921801719L;
+
+ public VanillaEventListener() {
+
+ }
+
+ public void onClassEnd(Object testInstance, Throwable t) {
+
+ }
+
+ public void onClassStart(Object testInstance) {
+
+ }
+
+ public void onMethodEnd(Method method, Object testInstance,
+ Object[] params, Throwable t, List Watchers) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onMethodStart(Method method, Object testInstance,
+ Object[] params) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onRunnerEnd(Class clazz, Runner runner) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onRunnerStart(Class clazz, Runner runner) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onSuiteEnd(TestSuite suite) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void onSuiteStart(TestSuite suite) {
+
+ }
+
+ public void onWatcherEnd(Watcher watcher) {
+
+ }
+
+ public void onWatcherStart(Watcher watcher) {
+
+ }
+
+ public void onWatchersEnd(List watchers) {
+
+ }
+
+ public void onWatchersStart(List watchers) {
+
+ }
+
+ public boolean supportParentRunner() {
+ return false;
+ }
+
+}
Property changes on: trunk/punit/src/org/punit/events/VanillaEventListener.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/punit/src/org/punit/reporter/TestResult.java
===================================================================
--- trunk/punit/src/org/punit/reporter/TestResult.java 2007-12-25 12:31:15 UTC (rev 260)
+++ trunk/punit/src/org/punit/reporter/TestResult.java 2007-12-25 12:35:05 UTC (rev 261)
@@ -1,16 +1,12 @@
/* (C) Copyright 2007, by Andrew Zhang */
package org.punit.reporter;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
+import java.lang.reflect.*;
+import java.util.*;
-import org.punit.events.EventListener;
-import org.punit.runner.Runner;
-import org.punit.type.TestSuite;
-import org.punit.watcher.Watcher;
+import org.punit.events.*;
-public class TestResult implements EventListener {
+public class TestResult extends VanillaEventListener {
private static final long serialVersionUID = -5770657966003459019L;
@@ -42,61 +38,4 @@
return _failures;
}
- /**
- * A method is required by <code>EventListener</code> interface. It does
- * nothing when a new test class is instantiated.
- */
- public void onClassStart(Object testInstance) {
-
- }
-
- /**
- * A method is required by <code>EventListener</code> interface. It does
- * nothing when a test class execution is completed.
- */
- public void onClassEnd(Object testInstance, Throwable t) {
-
- }
-
- public void onMethodStart(Method method, Object testInstance,
- Object[] params) {
-
- }
-
- public void onRunnerEnd(Class clazz, Runner runner) {
-
- }
-
- public void onRunnerStart(Class clazz, Runner runner) {
-
- }
-
- public void onSuiteEnd(TestSuite suite) {
-
- }
-
- public void onSuiteStart(TestSuite suite) {
-
- }
-
- public void onWatcherEnd(Watcher watcher) {
-
- }
-
- public void onWatcherStart(Watcher watcher) {
-
- }
-
- public void onWatchersEnd(List watchers) {
-
- }
-
- public void onWatchersStart(List watchers) {
-
- }
-
- public boolean supportParentRunner() {
- return false;
- }
-
}
Modified: trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2007-12-25 12:31:15 UTC (rev 260)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2007-12-25 12:35:05 UTC (rev 261)
@@ -2,24 +2,20 @@
package org.punit.reporter.stream;
-import java.io.PrintWriter;
-import java.lang.reflect.Method;
-import java.util.Iterator;
-import java.util.List;
-import java.util.logging.Level;
+import java.io.*;
+import java.lang.reflect.*;
+import java.util.*;
+import java.util.logging.*;
-import org.punit.events.EventListener;
-import org.punit.message.Messages;
-import org.punit.reporter.TestResult;
-import org.punit.runner.Runner;
-import org.punit.type.TestSuite;
-import org.punit.util.ReporterUtil;
-import org.punit.util.Traverser;
-import org.punit.util.TraverserUtil;
-import org.punit.watcher.TimeWatcher;
-import org.punit.watcher.Watcher;
+import org.punit.events.*;
+import org.punit.message.*;
+import org.punit.reporter.*;
+import org.punit.runner.*;
+import org.punit.type.*;
+import org.punit.util.*;
+import org.punit.watcher.*;
-public abstract class StreamLogger implements EventListener {
+public abstract class StreamLogger extends VanillaEventListener {
protected transient PrintWriter _writer;
@@ -30,7 +26,6 @@
private TimeWatcher _timeWatcher;
public StreamLogger() {
-
}
public StreamLogger(PrintWriter writer) {
@@ -112,10 +107,6 @@
logln(testInstance.getClass().getName(), Level.INFO);
}
- public void onClassEnd(Object testInstance, Throwable t) {
- // nothing needs to be done
- }
-
public void onMethodEnd(Method method, Object instance, Object[] params,
Throwable t, List watchers) {
logTestMethodResult(method, params, watchers, t);
@@ -187,27 +178,4 @@
_level = level;
}
- public void onWatchersStart(List watchers) {
- // nothing needs to be done
- }
-
- public void onWatcherStart(Watcher watcher) {
- // nothing needs to be done
- }
-
- public void onWatchersEnd(List watchers) {
- // nothing needs to be done
- }
-
- public void onWatcherEnd(Watcher watcher) {
- // nothing needs to be done
- }
-
- public void onSuiteEnd(TestSuite suite) {
- // nothing needs to be done
- }
-
- public void onMethodStart(Method method, Object instance, Object[] params) {
- // nothing needs to be done
- }
}
\ No newline at end of file
Modified: trunk/punit/src/org/punit/watcher/AbstractWatcher.java
===================================================================
--- trunk/punit/src/org/punit/watcher/AbstractWatcher.java 2007-12-25 12:31:15 UTC (rev 260)
+++ trunk/punit/src/org/punit/watcher/AbstractWatcher.java 2007-12-25 12:35:05 UTC (rev 261)
@@ -4,18 +4,12 @@
import org.punit.exception.ReflectionException;
-abstract class AbstractWatcher implements Watcher {
+public abstract class AbstractWatcher implements Watcher {
transient long _scale = 1;
transient long _value;
- public void start() {
- }
-
- public void stop() {
- }
-
public double value() {
return ((double) _value) / _scale;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2007-12-25 13:06:57
|
Revision: 263
http://p-unit.svn.sourceforge.net/p-unit/?rev=263&view=rev
Author: zhanghuangzhu
Date: 2007-12-25 05:07:01 -0800 (Tue, 25 Dec 2007)
Log Message:
-----------
Andrew Zhang: refactored AbstractWatcher. Changed the start sequence of watcher list.
Modified Paths:
--------------
trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java
trunk/punit/src/org/punit/watcher/AbstractWatcher.java
trunk/punit/src/org/punit/watcher/CustomWatcher.java
trunk/punit/src/org/punit/watcher/MemoryWatcher.java
trunk/punit/src/org/punit/watcher/TimeWatcher.java
Modified: trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java 2007-12-25 12:35:17 UTC (rev 262)
+++ trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java 2007-12-25 13:07:01 UTC (rev 263)
@@ -257,13 +257,11 @@
protected final void startWatchers(final Object testInstance,
final Method method, final Object[] params) {
onWatchersStart(testInstance, method, params);
- TraverserUtil.traverse(_watchers.iterator(), new Traverser() {
- public void traverse(Object obj) {
- Watcher watcher = (Watcher) obj;
- onWatcherStart(watcher, testInstance, method, params);
- watcher.start();
- }
- });
+ for(int i = _watchers.size() - 1; i >= 0; i--) {
+ Watcher watcher = (Watcher) _watchers.get(i);
+ onWatcherStart(watcher, testInstance, method, params);
+ watcher.start();
+ }
}
private void onWatchersStart(final Object testInstance,
Modified: trunk/punit/src/org/punit/watcher/AbstractWatcher.java
===================================================================
--- trunk/punit/src/org/punit/watcher/AbstractWatcher.java 2007-12-25 12:35:17 UTC (rev 262)
+++ trunk/punit/src/org/punit/watcher/AbstractWatcher.java 2007-12-25 13:07:01 UTC (rev 263)
@@ -5,21 +5,9 @@
import org.punit.exception.ReflectionException;
public abstract class AbstractWatcher implements Watcher {
-
- transient long _scale = 1;
- transient long _value;
-
- public double value() {
- return ((double) _value) / _scale;
- }
-
public String stringValue() {
- if (_scale == 1) {
- return _value + unit(); //$NON-NLS-1$
- } else {
- return value() + unit();
- }
+ return value() + unit();
}
public Watcher cloneSelf() {
Modified: trunk/punit/src/org/punit/watcher/CustomWatcher.java
===================================================================
--- trunk/punit/src/org/punit/watcher/CustomWatcher.java 2007-12-25 12:35:17 UTC (rev 262)
+++ trunk/punit/src/org/punit/watcher/CustomWatcher.java 2007-12-25 13:07:01 UTC (rev 263)
@@ -19,6 +19,10 @@
private String _name;
private String _unit;
+
+ transient long _value;
+
+ transient long _scale;
private transient static MethodRunner _methodRunner;
@@ -40,6 +44,10 @@
public void stop() {
}
+
+ public double value() {
+ return ((double)_value)/_scale;
+ }
/**
* Updates all registered <code>CustomWatcher</code> for this method
Modified: trunk/punit/src/org/punit/watcher/MemoryWatcher.java
===================================================================
--- trunk/punit/src/org/punit/watcher/MemoryWatcher.java 2007-12-25 12:35:17 UTC (rev 262)
+++ trunk/punit/src/org/punit/watcher/MemoryWatcher.java 2007-12-25 13:07:01 UTC (rev 263)
@@ -13,6 +13,8 @@
private transient long _startUsedMemory;
private transient boolean _stop;
+
+ private transient long _value;
public void start() {
_stop = false;
@@ -26,6 +28,10 @@
_stop = true;
monitorMemory();
}
+
+ public double value() {
+ return _value;
+ }
private void monitorMemory() {
long usedMemory = MemoryUtil.usedMemory() - _startUsedMemory;
Modified: trunk/punit/src/org/punit/watcher/TimeWatcher.java
===================================================================
--- trunk/punit/src/org/punit/watcher/TimeWatcher.java 2007-12-25 12:35:17 UTC (rev 262)
+++ trunk/punit/src/org/punit/watcher/TimeWatcher.java 2007-12-25 13:07:01 UTC (rev 263)
@@ -9,15 +9,22 @@
private static final long serialVersionUID = -1374581076649027519L;
private transient long _startTime;
-
+
+ private transient long _value;
+
+ private static final int _SCALE = 1000000;
+
public void start() {
_startTime = System.nanoTime();
- _scale = 1000000;
}
public void stop() {
_value = System.nanoTime() - _startTime;
}
+
+ public double value() {
+ return ((double)_value)/_SCALE;
+ }
public String punitName() {
return Messages.getString("watcher.time"); //$NON-NLS-1$
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2008-02-20 11:50:29
|
Revision: 277
http://p-unit.svn.sourceforge.net/p-unit/?rev=277&view=rev
Author: zhanghuangzhu
Date: 2008-02-20 03:50:32 -0800 (Wed, 20 Feb 2008)
Log Message:
-----------
Andrew Zhang: fixed display bugs
Modified Paths:
--------------
trunk/punit/src/org/punit/assertion/Assert.java
trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
Modified: trunk/punit/src/org/punit/assertion/Assert.java
===================================================================
--- trunk/punit/src/org/punit/assertion/Assert.java 2008-02-16 15:10:59 UTC (rev 276)
+++ trunk/punit/src/org/punit/assertion/Assert.java 2008-02-20 11:50:32 UTC (rev 277)
@@ -95,6 +95,6 @@
}
private static void fail(Object expected, Object actual) {
- fail(Messages.getString("assert.expected") + expected + Messages.getString("assert.got") + actual); //$NON-NLS-2$
+ fail(Messages.getString("assert.expected") + " " + expected + Messages.getString("assert.got") + " " + actual); //$NON-NLS-2$
}
}
Modified: trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2008-02-16 15:10:59 UTC (rev 276)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2008-02-20 11:50:32 UTC (rev 277)
@@ -90,8 +90,8 @@
private void logFailures() {
List<Throwable> failures = _result.failures();
Iterator<Throwable> iter = failures.iterator();
+ int count = 0;
while (iter.hasNext()) {
- int count = 0;
log(++count + ")", Level.SEVERE); //$NON-NLS-1$
if (shouldLog(Level.SEVERE)) {
iter.next().printStackTrace(_writer);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2008-02-20 12:18:40
|
Revision: 278
http://p-unit.svn.sourceforge.net/p-unit/?rev=278&view=rev
Author: zhanghuangzhu
Date: 2008-02-20 04:18:41 -0800 (Wed, 20 Feb 2008)
Log Message:
-----------
more friendly error message
Modified Paths:
--------------
trunk/punit/src/org/punit/assertion/Assert.java
trunk/punit/src/org/punit/message/MessageStrings.java
Modified: trunk/punit/src/org/punit/assertion/Assert.java
===================================================================
--- trunk/punit/src/org/punit/assertion/Assert.java 2008-02-20 11:50:32 UTC (rev 277)
+++ trunk/punit/src/org/punit/assertion/Assert.java 2008-02-20 12:18:41 UTC (rev 278)
@@ -95,6 +95,6 @@
}
private static void fail(Object expected, Object actual) {
- fail(Messages.getString("assert.expected") + " " + expected + Messages.getString("assert.got") + " " + actual); //$NON-NLS-2$
+ fail(Messages.getString("assert.expected") + "\"" + expected + "\"" + Messages.getString("assert.got") + "\"" + actual + "\""); //$NON-NLS-2$
}
}
Modified: trunk/punit/src/org/punit/message/MessageStrings.java
===================================================================
--- trunk/punit/src/org/punit/message/MessageStrings.java 2008-02-20 11:50:32 UTC (rev 277)
+++ trunk/punit/src/org/punit/message/MessageStrings.java 2008-02-20 12:18:41 UTC (rev 278)
@@ -22,8 +22,8 @@
{"reporter.02", "overview"},
{"PDFRender.01", "PUnit result\n"},
{"PDFRender.02", "the open source performance benchmark framework\n"},
- {"assert.expected", "Expected"},
- {"assert.got", ", but got"},
+ {"assert.expected", "Expected "},
+ {"assert.got", ", but got "},
{"assert.notsame", "Expected a different object:"},
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2008-03-18 10:21:32
|
Revision: 285
http://p-unit.svn.sourceforge.net/p-unit/?rev=285&view=rev
Author: zhanghuangzhu
Date: 2008-03-18 03:21:37 -0700 (Tue, 18 Mar 2008)
Log Message:
-----------
Andrew Zhang: cleanup code.
Modified Paths:
--------------
trunk/punit/src/org/punit/convention/AnnotationConvention.java
trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java
trunk/punit/src/org/punit/method/runner/ConcurrentMethodRunner.java
trunk/punit/src/org/punit/method/runner/MethodRunner.java
trunk/punit/src/org/punit/method/runner/SoloMethodRunner.java
trunk/punit/src/org/punit/runner/AbstractRunner.java
trunk/punit/src/org/punit/util/ReflectionUtil.java
Added Paths:
-----------
trunk/punit/src/org/punit/convention/ByNameConvention.java
trunk/punit/src/org/punit/runner/Notifier.java
trunk/punit/src/org/punit/runner/VanillaRunner.java
Removed Paths:
-------------
trunk/punit/src/org/punit/convention/NameConvention.java
trunk/punit/src/org/punit/method/runner/VanillaRunner.java
Modified: trunk/punit/src/org/punit/convention/AnnotationConvention.java
===================================================================
--- trunk/punit/src/org/punit/convention/AnnotationConvention.java 2008-03-16 18:47:12 UTC (rev 284)
+++ trunk/punit/src/org/punit/convention/AnnotationConvention.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -16,7 +16,7 @@
private static final long serialVersionUID = -6800242731470821241L;
- protected NameConvention _delegate = new NameConvention();
+ protected ByNameConvention _delegate = new ByNameConvention();
private Class<? extends Annotation> _after;
private Class<? extends Annotation> _afterClass;
Copied: trunk/punit/src/org/punit/convention/ByNameConvention.java (from rev 279, trunk/punit/src/org/punit/convention/NameConvention.java)
===================================================================
--- trunk/punit/src/org/punit/convention/ByNameConvention.java (rev 0)
+++ trunk/punit/src/org/punit/convention/ByNameConvention.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -0,0 +1,105 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+
+package org.punit.convention;
+
+import java.lang.reflect.Method;
+
+import org.punit.util.ReflectionUtil;
+
+public class ByNameConvention extends AbstractConvention {
+
+ private static final long serialVersionUID = -1252188754463864599L;
+
+ public Method getCheckMethod(Method method) {
+ String checkMethodName = "check_" + method.getName(); //$NON-NLS-1$
+ return ReflectionUtil.getMethod(method.getDeclaringClass(),
+ checkMethodName, method.getParameterTypes());
+ }
+
+ /**
+ * Judges whether this method is a test method.
+ *
+ * @return returns true if the test modifier, name, and parameter conform to
+ * the convention of a test method.
+ */
+ public boolean isTestMethod(Method method) {
+ return isModifierValid(method) && isNameValid(method)
+ && isParamValid(method);
+ }
+
+ /**
+ * Judges whether the modifier of is method conforms to the convention of a
+ * test method.
+ *
+ * @param method
+ * to be judged
+ * @return returns true if this method is public and non static.
+ */
+ protected boolean isModifierValid(Method method) {
+ return ReflectionUtil.isPublic(method)
+ && !ReflectionUtil.isStatic(method);
+ }
+
+ /**
+ * Judges whether the name of is method conforms to the convention of a test
+ * method.
+ *
+ * @param method
+ * to be judged
+ * @return returns true if the name of this method starts with "test", or
+ * the name is in the list of test interfaces which are added by
+ * <code>TestMethodBuilder.addTestInterfaces</code>
+ */
+ protected boolean isNameValid(Method method) {
+ String name = method.getName();
+ return name.startsWith("test"); //$NON-NLS-1$
+ }
+
+ /**
+ * Judges whether the parameters of this method conform to the convention of
+ * a test method.
+ *
+ * @param method
+ * @return <code>true</code> if the number of method parameters is zero
+ * and the test class is not marked as <code>Parameterized</code>,
+ * or the parameter length is 1, and the parameter is assignable
+ * from <code>Parameter</code>.
+ */
+ protected boolean isParamValid(Method method) {
+ Class<?> clazz = method.getDeclaringClass();
+ Class<?>[] params = method.getParameterTypes();
+ if (isParameterizedTest(clazz)) {
+ return params.length == 1 && isParameter(params[0]);
+ } else {
+ return params.length == 0;
+ }
+ }
+
+ public Method getAfterClassMethod(Class<?> test) {
+ Method method = ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
+ "afterClass", new Class[] {}); //$NON-NLS-1$
+ if (method != null && ReflectionUtil.isStatic(method)) {
+ return method;
+ }
+ return null;
+ }
+
+ public Method getBeforeClassMethod(Class<?> test) {
+ Method method = ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
+ "beforeClass", new Class[] {}); //$NON-NLS-1$
+ if (method != null && ReflectionUtil.isStatic(method)) {
+ return method;
+ }
+ return null;
+ }
+
+ public Method getSetUpMethod(Class<?> test) {
+ return ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
+ "setUp", new Class[] {}); //$NON-NLS-1$
+ }
+
+ public Method getTearDownMethod(Class<?> test) {
+ return ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
+ "tearDown", new Class[] {}); //$NON-NLS-1$
+ }
+}
Deleted: trunk/punit/src/org/punit/convention/NameConvention.java
===================================================================
--- trunk/punit/src/org/punit/convention/NameConvention.java 2008-03-16 18:47:12 UTC (rev 284)
+++ trunk/punit/src/org/punit/convention/NameConvention.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -1,105 +0,0 @@
-/* (C) Copyright 2007, by Andrew Zhang */
-
-package org.punit.convention;
-
-import java.lang.reflect.Method;
-
-import org.punit.util.ReflectionUtil;
-
-public class NameConvention extends AbstractConvention {
-
- private static final long serialVersionUID = -1252188754463864599L;
-
- public Method getCheckMethod(Method method) {
- String checkMethodName = "check_" + method.getName(); //$NON-NLS-1$
- return ReflectionUtil.getMethod(method.getDeclaringClass(),
- checkMethodName, method.getParameterTypes());
- }
-
- /**
- * Judges whether this method is a test method.
- *
- * @return returns true if the test modifier, name, and parameter conform to
- * the convention of a test method.
- */
- public boolean isTestMethod(Method method) {
- return isModifierValid(method) && isNameValid(method)
- && isParamValid(method);
- }
-
- /**
- * Judges whether the modifier of is method conforms to the convention of a
- * test method.
- *
- * @param method
- * to be judged
- * @return returns true if this method is public and non static.
- */
- protected boolean isModifierValid(Method method) {
- return ReflectionUtil.isPublic(method)
- && !ReflectionUtil.isStatic(method);
- }
-
- /**
- * Judges whether the name of is method conforms to the convention of a test
- * method.
- *
- * @param method
- * to be judged
- * @return returns true if the name of this method starts with "test", or
- * the name is in the list of test interfaces which are added by
- * <code>TestMethodBuilder.addTestInterfaces</code>
- */
- protected boolean isNameValid(Method method) {
- String name = method.getName();
- return name.startsWith("test"); //$NON-NLS-1$
- }
-
- /**
- * Judges whether the parameters of this method conform to the convention of
- * a test method.
- *
- * @param method
- * @return <code>true</code> if the number of method parameters is zero
- * and the test class is not marked as <code>Parameterized</code>,
- * or the parameter length is 1, and the parameter is assignable
- * from <code>Parameter</code>.
- */
- protected boolean isParamValid(Method method) {
- Class<?> clazz = method.getDeclaringClass();
- Class<?>[] params = method.getParameterTypes();
- if (isParameterizedTest(clazz)) {
- return params.length == 1 && isParameter(params[0]);
- } else {
- return params.length == 0;
- }
- }
-
- public Method getAfterClassMethod(Class<?> test) {
- Method method = ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
- "afterClass", new Class[] {}); //$NON-NLS-1$
- if (method != null && ReflectionUtil.isStatic(method)) {
- return method;
- }
- return null;
- }
-
- public Method getBeforeClassMethod(Class<?> test) {
- Method method = ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
- "beforeClass", new Class[] {}); //$NON-NLS-1$
- if (method != null && ReflectionUtil.isStatic(method)) {
- return method;
- }
- return null;
- }
-
- public Method getSetUpMethod(Class<?> test) {
- return ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
- "setUp", new Class[] {}); //$NON-NLS-1$
- }
-
- public Method getTearDownMethod(Class<?> test) {
- return ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
- "tearDown", new Class[] {}); //$NON-NLS-1$
- }
-}
Modified: trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java 2008-03-16 18:47:12 UTC (rev 284)
+++ trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -20,7 +20,7 @@
private TimeWatcher _timeWatcher = new TimeWatcher();
- private List<EventListener> _eventListeners;
+ private AbstractRunner _runner;
private RunnerProperties _runnerProperties;
@@ -46,13 +46,15 @@
protected transient Class<? extends Throwable> _expectedException;
+ protected abstract void runImpl() throws Throwable;
+
public AbstractMethodRunner() {
_watchers.add(_timeWatcher);
_shouldStop = true;
}
- public void setEventListeners(List<EventListener> eventListeners) {
- _eventListeners = eventListeners;
+ public void setRunner(AbstractRunner runner) {
+ _runner = runner;
}
public void setRunnerProperties(RunnerProperties props) {
@@ -67,10 +69,6 @@
_watchers.remove(watcher);
}
- public void removeTimeWatcher() {
- _watchers.remove(_timeWatcher);
- }
-
public void run(Object testInstance, Method method, Object[] params) {
onMethodStart(method, testInstance, params);
Throwable throwable = null;
@@ -129,26 +127,6 @@
}
}
- private void onMethodStart(final Method method, final Object testInstance,
- final Object[] params) {
- Iterator<EventListener> iter = _eventListeners.iterator();
- while(iter.hasNext()) {
- EventListener listener = iter.next();
- listener.onMethodStart(method, testInstance, params);
- }
- }
-
- private void onMethodEnd(final Method method, final Object testInstance,
- final Object[] params, final Throwable t) {
- Iterator<EventListener> iter = _eventListeners.iterator();
- while (iter.hasNext()) {
- EventListener listener = iter.next();
- listener.onMethodEnd(method, testInstance, params, t, _watchers);
- }
- }
-
- protected abstract void runImpl() throws Throwable;
-
protected final void init(Object testInstance, Method method,
Object[] params) {
_testInstance = testInstance;
@@ -255,25 +233,6 @@
}
}
- private void onWatchersStart(final Object testInstance,
- final Method method, final Object[] params) {
- Iterator<EventListener> iter = _eventListeners.iterator();
- while(iter.hasNext()) {
- EventListener listener = iter.next();
- listener.onWatchersStart(_watchers);
- }
- }
-
- private void onWatcherStart(final Watcher watcher,
- final Object testInstance, final Method method,
- final Object[] params) {
- Iterator<EventListener> iter = _eventListeners.iterator();
- while (iter.hasNext()) {
- EventListener listener = iter.next();
- listener.onWatcherStart(watcher);
- }
- }
-
protected final void stopWatchers(final Object testInstance,
final Method method, final Object[] params) {
Iterator<Watcher> iter = _watchers.iterator();
@@ -285,24 +244,6 @@
onWatchersEnd(testInstance, method, params);
}
- private void onWatcherEnd(final Watcher watcher, final Object testInstance,
- final Method method, final Object[] params) {
- Iterator<EventListener> iter = _eventListeners.iterator();
- while (iter.hasNext()) {
- EventListener listener = iter.next();
- listener.onWatcherEnd(watcher);
- }
- }
-
- private void onWatchersEnd(final Object testInstance, final Method method,
- final Object[] params) {
- Iterator<EventListener> iter = _eventListeners.iterator();
- while (iter.hasNext()) {
- EventListener listener = iter.next();
- listener.onWatchersEnd(_watchers);
- }
- }
-
public List<Watcher> watchers() {
return _watchers;
}
@@ -334,24 +275,77 @@
}
protected void runMethod() throws Throwable {
- if (_expectedException == null) {
- do {
- invokeMethod();
- } while (!shouldStop());
- } else {
- Assert.assertException(_expectedException, new CodeRunner() {
- public void run() throws Throwable {
- invokeMethod();
- }
- });
- }
+ if (_expectedException == null) {
+ runMethodWithStopLoop();
+ } else {
+ Assert.assertException(_expectedException, new CodeRunner() {
+ public void run() throws Throwable {
+ runMethodWithStopLoop();
+ }
+ });
+ }
+ }
+
+ private void runMethodWithStopLoop() throws Throwable {
+ do {
+ ReflectionUtil.invokeMethodWithException(_method,
+ _testInstance, _params);
+ } while (!shouldStop());
+ }
+
+ private void onMethodStart(final Method method, final Object testInstance,
+ final Object[] params) {
+ _runner.notifyListeners(new Notifier(){
+ public void run(EventListener listener) {
+ listener.onMethodStart(method, testInstance, params);
+ }
+ });
}
- private void invokeMethod() throws Throwable {
- try {
- ReflectionUtil.invokeMethod(_method, _testInstance, _params);
- } catch (ReflectionException e) {
- throw e.getCause();
- }
+ private void onMethodEnd(final Method method, final Object testInstance,
+ final Object[] params, final Throwable t) {
+ _runner.notifyListeners(new Notifier(){
+ public void run(EventListener listener) {
+ listener.onMethodEnd(method, testInstance, params, t, _watchers);
+ }
+ });
}
+
+ private void onWatchersStart(final Object testInstance,
+ final Method method, final Object[] params) {
+ _runner.notifyListeners(new Notifier(){
+ public void run(EventListener listener) {
+ listener.onWatchersStart(_watchers);
+ }
+ });
+ }
+
+ private void onWatcherStart(final Watcher watcher,
+ final Object testInstance, final Method method,
+ final Object[] params) {
+ _runner.notifyListeners(new Notifier(){
+ public void run(EventListener listener) {
+ listener.onWatcherStart(watcher);
+ }
+ });
+ }
+
+ private void onWatcherEnd(final Watcher watcher, final Object testInstance,
+ final Method method, final Object[] params) {
+ _runner.notifyListeners(new Notifier() {
+ public void run(EventListener listener) {
+ listener.onWatcherEnd(watcher);
+ }
+ });
+ }
+
+ private void onWatchersEnd(final Object testInstance, final Method method,
+ final Object[] params) {
+ _runner.notifyListeners(new Notifier() {
+ public void run(EventListener listener) {
+ listener.onWatchersEnd(_watchers);
+ }
+ });
+ }
+
}
Modified: trunk/punit/src/org/punit/method/runner/ConcurrentMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/ConcurrentMethodRunner.java 2008-03-16 18:47:12 UTC (rev 284)
+++ trunk/punit/src/org/punit/method/runner/ConcurrentMethodRunner.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -4,7 +4,7 @@
import java.util.concurrent.*;
-import org.punit.exception.ConcurrentException;
+import org.punit.exception.*;
public class ConcurrentMethodRunner extends AbstractMethodRunner {
@@ -22,22 +22,21 @@
_concurrentCount = concurrentCount;
}
- protected void runImpl() throws Throwable {
+ protected void runImpl() throws Throwable {
startThreads();
joinThreads();
if (_concurrentException.size() > 0) {
throw _concurrentException;
}
}
-
+
private void startThreads() {
int count = _convention.getConcurrentCount(_testInstance, _method);
int threadCount = count > 0 ? count : _concurrentCount;
_threads = new TestMethodThread[threadCount];
_barrier = new CyclicBarrier(threadCount);
for (int i = 0; i < _threads.length; ++i) {
- _threads[i] = new TestMethodThread(this,
- "punit concurrent method runner"); //$NON-NLS-1$
+ _threads[i] = new TestMethodThread("punit concurrent method runner"); //$NON-NLS-1$
}
for (int i = 0; i < _threads.length; ++i) {
_threads[i].start();
@@ -59,17 +58,15 @@
}
private class TestMethodThread extends Thread {
- ConcurrentMethodRunner _runner;
-
- public TestMethodThread(ConcurrentMethodRunner runner, String threadName) {
+
+ public TestMethodThread(String threadName) {
super(threadName);
- _runner = runner;
}
public void run() {
try {
_barrier.await();
- _runner.runMethod();
+ ConcurrentMethodRunner.this.runMethod();
} catch (Throwable t) {
_concurrentException.add(t);
}
Modified: trunk/punit/src/org/punit/method/runner/MethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/MethodRunner.java 2008-03-16 18:47:12 UTC (rev 284)
+++ trunk/punit/src/org/punit/method/runner/MethodRunner.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -1,13 +1,12 @@
package org.punit.method.runner;
-import java.io.Serializable;
-import java.lang.reflect.Method;
-import java.util.List;
+import java.io.*;
+import java.lang.reflect.*;
+import java.util.*;
-import org.punit.convention.Convention;
-import org.punit.events.*;
-import org.punit.runner.RunnerProperties;
-import org.punit.watcher.Watcher;
+import org.punit.convention.*;
+import org.punit.runner.*;
+import org.punit.watcher.*;
public interface MethodRunner extends Serializable, Cloneable {
/**
@@ -19,11 +18,7 @@
*/
public void run(Object testInstance, Method method, Object[] params);
- /**
- *
- * @param eventListeners List <EventListener>
- */
- public void setEventListeners(List<EventListener> eventListeners);
+ public void setRunner(AbstractRunner runner);
public void setRunnerProperties(RunnerProperties props);
Modified: trunk/punit/src/org/punit/method/runner/SoloMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/SoloMethodRunner.java 2008-03-16 18:47:12 UTC (rev 284)
+++ trunk/punit/src/org/punit/method/runner/SoloMethodRunner.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -3,6 +3,7 @@
package org.punit.method.runner;
+
public class SoloMethodRunner extends AbstractMethodRunner {
private static final long serialVersionUID = 3278612571978181393L;
@@ -10,5 +11,4 @@
protected void runImpl() throws Throwable {
runMethod();
}
-
}
Deleted: trunk/punit/src/org/punit/method/runner/VanillaRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/VanillaRunner.java 2008-03-16 18:47:12 UTC (rev 284)
+++ trunk/punit/src/org/punit/method/runner/VanillaRunner.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -1,73 +0,0 @@
-/* (C) Copyright 2007, by Andrew Zhang */
-package org.punit.method.runner;
-
-import java.util.*;
-
-import org.punit.events.EventListener;
-import org.punit.method.builder.*;
-import org.punit.reporter.*;
-import org.punit.runner.*;
-import org.punit.suite.builder.*;
-
-public class VanillaRunner implements Runner {
-
- private static final long serialVersionUID = -3536655499041726649L;
-
- private Runner _runner;
-
- public VanillaRunner(Runner runner) {
- _runner = runner;
- }
-
- public TestMethodBuilder methodBuilder() {
- return _runner.methodBuilder();
- }
-
- public MethodRunner methodRunner() {
- return _runner.methodRunner();
- }
-
- public RunnerProperties properties() {
- return _runner.properties();
- }
-
- public void resultFolder(String folder) {
- _runner.resultFolder(folder);
- }
-
- public String resultFolder() {
- return _runner.resultFolder();
- }
-
- public int run(Class<?> clazz) {
- return _runner.run(clazz);
- }
-
- public int run(Class<?> clazz, RunnerProperties properties) {
- return _runner.run(clazz, properties);
- }
-
- public TestSuiteBuilder suiteBuilder() {
- return _runner.suiteBuilder();
- }
-
- public TestResult testResult() {
- return _runner.testResult();
- }
-
- public void addEventListener(EventListener listener) {
- _runner.addEventListener(listener);
- }
-
- public List<EventListener> eventListeners() {
- return _runner.eventListeners();
- }
-
- public void removeEventListener(EventListener listener) {
- _runner.removeEventListener(listener);
- }
-
- public String punitName() {
- return _runner.punitName();
- }
-}
Modified: trunk/punit/src/org/punit/runner/AbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/AbstractRunner.java 2008-03-16 18:47:12 UTC (rev 284)
+++ trunk/punit/src/org/punit/runner/AbstractRunner.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -28,6 +28,8 @@
private MethodRunner _methodRunner;
private final List<EventListener> _eventListeners = new ArrayList<EventListener>();
+
+ private final List<EventListener> _internalEventListeners = new ArrayList<EventListener>();
private TestResult _testResult = new TestResult();
@@ -46,10 +48,10 @@
_testSuiteBuiler = testSuiteBuiler;
_testMethodBuilder = testMethodBuilder;
_methodRunner = testMethodRunner;
- _methodRunner.setEventListeners(_eventListeners);
+ _methodRunner.setRunner(this);
_methodRunner.setRunnerProperties(_properties);
registerDefaultListeners();
- setConvention(new NameConvention());
+ setConvention(new ByNameConvention());
}
public void setConvention(Convention convention) {
@@ -196,24 +198,7 @@
sb.append(runnerPropertiesFileName(vm));
return sb.toString();
}
-
- private void onRunnerStart(final Class<?> clazz) {
- Iterator <EventListener> iter = _eventListeners.iterator();
- while(iter.hasNext()) {
- EventListener listener = iter.next();
- listener.onRunnerStart(clazz, AbstractRunner.this);
- }
-
- }
-
- private void onRunnerEnd(final Class<?> clazz) {
- Iterator <EventListener> iter = _eventListeners.iterator();
- while(iter.hasNext()) {
- EventListener listener = iter.next();
- listener.onRunnerEnd(clazz, AbstractRunner.this);
- }
- }
-
+
private void runTestClass(final Class<?> clazz) {
if (_executorPool == null) {
runTestClassImpl(clazz);
@@ -249,7 +234,7 @@
}
private void runTestClassImpl(final Class<?> clazz) {
- final Object testInstance = ReflectionUtil.newInstance(clazz);
+ final Object testInstance = ReflectionUtil.newInstance(clazz);
Throwable exception = null;
Collection<Method> testMethods = extractTestMethods(clazz);
onClassStart(testInstance);
@@ -290,49 +275,82 @@
}
}
+ private void onRunnerStart(final Class<?> clazz) {
+ notifyListeners(new Notifier() {
+ public void run(EventListener listener) {
+ listener.onRunnerStart(clazz, AbstractRunner.this);
+ }
+ });
+ }
+
+ private void onRunnerEnd(final Class<?> clazz) {
+ notifyListeners(new Notifier() {
+ public void run(EventListener listener) {
+ listener.onRunnerEnd(clazz, AbstractRunner.this);
+ }
+ });
+ }
+
private void onSuite(final TestSuiteLabel suiteLabel) {
- Iterator<EventListener> iter = _eventListeners.iterator();
- while (iter.hasNext()) {
- EventListener listener = iter.next();
- TestSuite suite = suiteLabel.suite();
- if (suiteLabel.isStart()) {
- listener.onSuiteStart(suite);
- } else {
- listener.onSuiteEnd(suite);
+ notifyListeners(new Notifier() {
+ public void run(EventListener listener) {
+ TestSuite suite = suiteLabel.suite();
+ if (suiteLabel.isStart()) {
+ listener.onSuiteStart(suite);
+ } else {
+ listener.onSuiteEnd(suite);
+ }
}
- }
+ });
}
private void onClassStart(final Object testInstance) {
- Iterator<EventListener> iter = _eventListeners.iterator();
- while (iter.hasNext()) {
- EventListener listener = iter.next();
- listener.onClassStart(testInstance);
- }
+ notifyListeners(new Notifier() {
+ public void run(EventListener listener) {
+ listener.onClassStart(testInstance);
+ }
+ });
}
private void onClassEnd(final Object testInstance, final Throwable t) {
- Iterator<EventListener> iter = _eventListeners.iterator();
- while (iter.hasNext()) {
+ notifyListeners(new Notifier() {
+ public void run(EventListener listener) {
+ listener.onClassEnd(testInstance, t);
+ }
+ });
+ }
+
+ public void notifyListeners(Notifier notifier) {
+ notifyListeners(_internalEventListeners, notifier);
+ notifyListeners(_eventListeners, notifier);
+ }
+
+ private void notifyListeners(List<EventListener> listeners,
+ Notifier notifier) {
+ Iterator<EventListener> iter = listeners.iterator();
+ while (iter.hasNext()) {
EventListener listener = iter.next();
- listener.onClassEnd(testInstance, t);
+ notifier.run(listener);
}
}
-
+
private void runTestMethod(Object testInstance, Method method) {
if (_convention.isParameterizedTest(testInstance.getClass())) {
Parameterized pInstance = (Parameterized) testInstance;
Parameter[] params = pInstance.parameters();
for (int i = 0; i < params.length; ++i) {
- _methodRunner.run(testInstance, method,
- new Object[] { params[i] });
+ runTestMethod(testInstance, method, new Object[] { params[i] });
}
} else {
- _methodRunner.run(testInstance, method, new Object[] {});
+ runTestMethod(testInstance, method, new Object[] {});
}
}
+
+ private void runTestMethod(Object testInstance, Method method, Object[] params) {
+ _methodRunner.run(testInstance, method, params);
+ }
- private Collection<Method> extractTestMethods(Class<?> testClass) {
+ private Collection<Method> extractTestMethods(Class<?> testClass) {
return _testMethodBuilder.extractTestMethods(testClass);
}
@@ -349,7 +367,7 @@
}
private void registerDefaultListeners() {
- addEventListener(_testResult);
+ addInternalEventListener(_testResult);
addEventListener(_consoleLogger);
}
@@ -360,6 +378,10 @@
public void addEventListener(EventListener listener) {
_eventListeners.add(listener);
}
+
+ private void addInternalEventListener(EventListener listener) {
+ _internalEventListeners.add(listener);
+ }
public void removeEventListener(EventListener listener) {
_eventListeners.remove(listener);
Added: trunk/punit/src/org/punit/runner/Notifier.java
===================================================================
--- trunk/punit/src/org/punit/runner/Notifier.java (rev 0)
+++ trunk/punit/src/org/punit/runner/Notifier.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -0,0 +1,7 @@
+package org.punit.runner;
+
+import org.punit.events.*;
+
+public interface Notifier {
+ public void run(EventListener listener);
+}
Property changes on: trunk/punit/src/org/punit/runner/Notifier.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Copied: trunk/punit/src/org/punit/runner/VanillaRunner.java (from rev 270, trunk/punit/src/org/punit/method/runner/VanillaRunner.java)
===================================================================
--- trunk/punit/src/org/punit/runner/VanillaRunner.java (rev 0)
+++ trunk/punit/src/org/punit/runner/VanillaRunner.java 2008-03-18 10:21:37 UTC (rev 285)
@@ -0,0 +1,73 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+package org.punit.runner;
+
+import java.util.*;
+
+import org.punit.events.EventListener;
+import org.punit.method.builder.*;
+import org.punit.method.runner.*;
+import org...
[truncated message content] |
|
From: <zha...@us...> - 2008-04-15 14:58:27
|
Revision: 292
http://p-unit.svn.sourceforge.net/p-unit/?rev=292&view=rev
Author: zhanghuangzhu
Date: 2008-04-15 07:58:21 -0700 (Tue, 15 Apr 2008)
Log Message:
-----------
Andrew Zhang: changed p-unit version, and make StreamLogger not abstract.
Modified Paths:
--------------
trunk/punit/src/org/punit/PUnit.java
trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
Modified: trunk/punit/src/org/punit/PUnit.java
===================================================================
--- trunk/punit/src/org/punit/PUnit.java 2008-04-06 15:22:45 UTC (rev 291)
+++ trunk/punit/src/org/punit/PUnit.java 2008-04-15 14:58:21 UTC (rev 292)
@@ -2,11 +2,12 @@
package org.punit;
+
public class PUnit {
/**
* @return returns the version of punit.
*/
public static String version() {
- return "0.12"; //$NON-NLS-1$
+ return "0.14"; //$NON-NLS-1$
}
}
Modified: trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2008-04-06 15:22:45 UTC (rev 291)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2008-04-15 14:58:21 UTC (rev 292)
@@ -15,10 +15,12 @@
import org.punit.util.*;
import org.punit.watcher.*;
-public abstract class StreamLogger extends VanillaEventListener {
+public class StreamLogger extends VanillaEventListener {
- protected transient PrintWriter _writer;
+ private static final long serialVersionUID = -677120489939331361L;
+ protected transient PrintWriter _writer;
+
protected transient TestResult _result;
public Level _level = Level.INFO;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2008-04-18 00:53:46
|
Revision: 296
http://p-unit.svn.sourceforge.net/p-unit/?rev=296&view=rev
Author: zhanghuangzhu
Date: 2008-04-17 17:53:53 -0700 (Thu, 17 Apr 2008)
Log Message:
-----------
az: simplify test suite builder logic.
Modified Paths:
--------------
trunk/punit/src/org/punit/runner/AbstractRunner.java
trunk/punit/src/org/punit/runner/ConcurrentRunner.java
trunk/punit/src/org/punit/runner/Runner.java
trunk/punit/src/org/punit/runner/SoloRunner.java
trunk/punit/src/org/punit/runner/VanillaRunner.java
Removed Paths:
-------------
trunk/punit/src/org/punit/suite/builder/
Modified: trunk/punit/src/org/punit/runner/AbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/AbstractRunner.java 2008-04-17 02:18:56 UTC (rev 295)
+++ trunk/punit/src/org/punit/runner/AbstractRunner.java 2008-04-18 00:53:53 UTC (rev 296)
@@ -16,14 +16,11 @@
import org.punit.method.runner.*;
import org.punit.reporter.*;
import org.punit.reporter.stream.console.*;
-import org.punit.suite.builder.*;
import org.punit.type.*;
import org.punit.util.*;
public abstract class AbstractRunner implements Runner {
- private TestSuiteBuilder _testSuiteBuiler;
-
private TestMethodBuilder _testMethodBuilder;
private MethodRunner _methodRunner;
@@ -46,9 +43,7 @@
private AtomicBoolean _isAlive = new AtomicBoolean(true);
- public AbstractRunner(TestSuiteBuilder testSuiteBuiler,
- TestMethodBuilder testMethodBuilder, MethodRunner testMethodRunner) {
- _testSuiteBuiler = testSuiteBuiler;
+ public AbstractRunner(TestMethodBuilder testMethodBuilder, MethodRunner testMethodRunner) {
_testMethodBuilder = testMethodBuilder;
_methodRunner = testMethodRunner;
_methodRunner.setRunner(this);
@@ -59,37 +54,65 @@
public void setConvention(Convention convention) {
_convention = convention;
- _testSuiteBuiler.setConvention(convention);
_testMethodBuilder.setConvention(convention);
_methodRunner.setConvention(convention);
}
public int run(Class<?> clazz) {
onRunnerStart(clazz);
- Object[] testClasses = _testSuiteBuiler.buildTestClasses(clazz);
- runTestClasses(testClasses);
+ startExecutorPool();
+ runTest(clazz);
+ waitExecutorPoolTermination();
onRunnerEnd(clazz);
return _testResult.failures().size();
}
+
+ @SuppressWarnings("unchecked")
+ private void runTest(Class<?> clazz) {
+ if(isTestSuite(clazz)) {
+ runTestSuite((Class<? extends TestSuite>) clazz);
+ } else {
+ runTestClass(clazz);
+ }
+ }
+
+ private boolean isTestSuite(Class<?> clazz) {
+ return TestSuite.class.isAssignableFrom(clazz);
+ }
+
+ private void runTestSuite(Class <? extends TestSuite> testSuiteClass) {
+ if(_convention.isExcluded(testSuiteClass)) {
+ return;
+ }
+ final TestSuite suite = (TestSuite) ReflectionUtil.newInstance(testSuiteClass);
+ onSuiteStart(suite);
+ for(Class<?> clazz : suite.testSuite()) {
+ runTest(clazz);
+ }
+ onSuiteEnd(suite);
+ }
+ private void onSuiteStart(final TestSuite suite) {
+ notifyListeners(new Notifier() {
+ public void run(EventListener listener) {
+ listener.onSuiteStart(suite);
+ }
+ });
+ }
+
+ private void onSuiteEnd(final TestSuite suite) {
+ notifyListeners(new Notifier() {
+ public void run(EventListener listener) {
+ listener.onSuiteEnd(suite);
+ }
+ });
+ }
+
public int run(Class<?> clazz, RunnerProperties properties) {
setRunnerProperties(properties);
return run(clazz);
}
- private void runTestClasses(Object[] testClasses) {
- startExecutorPool();
- for (int i = 0; i < testClasses.length && isAlive(); ++i) {
- Object testClass = testClasses[i];
- if (isTestSuiteLabel(testClass)) {
- onSuite(((TestSuiteLabel) testClass));
- } else {
- runTestClass((Class<?>) testClass);
- }
- }
- waitExecutorPoolTermination();
- }
-
public void setExecutorPool(ExecutorPool pool) {
_executorPool = pool;
}
@@ -294,19 +317,6 @@
});
}
- private void onSuite(final TestSuiteLabel suiteLabel) {
- notifyListeners(new Notifier() {
- public void run(EventListener listener) {
- TestSuite suite = suiteLabel.suite();
- if (suiteLabel.isStart()) {
- listener.onSuiteStart(suite);
- } else {
- listener.onSuiteEnd(suite);
- }
- }
- });
- }
-
private void onClassStart(final Object testInstance) {
notifyListeners(new Notifier() {
public void run(EventListener listener) {
@@ -365,10 +375,6 @@
return _methodRunner;
}
- public TestSuiteBuilder suiteBuilder() {
- return _testSuiteBuiler;
- }
-
private void registerDefaultListeners() {
addInternalEventListener(_testResult);
addEventListener(_consoleLogger);
@@ -398,10 +404,6 @@
return _consoleLogger;
}
- private boolean isTestSuiteLabel(Object testClass) {
- return testClass instanceof TestSuiteLabel;
- }
-
public Object clone() {
try {
AbstractRunner runner = (AbstractRunner) super.clone();
Modified: trunk/punit/src/org/punit/runner/ConcurrentRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/ConcurrentRunner.java 2008-04-17 02:18:56 UTC (rev 295)
+++ trunk/punit/src/org/punit/runner/ConcurrentRunner.java 2008-04-18 00:53:53 UTC (rev 296)
@@ -1,11 +1,10 @@
/* (C) Copyright 2007, by Andrew Zhang */
package org.punit.runner;
-import org.punit.message.Messages;
-import org.punit.method.builder.MethodBuilderImpl;
-import org.punit.method.runner.ConcurrentMethodRunner;
-import org.punit.suite.builder.TestSuiteBuilderImpl;
-import org.punit.util.RunnerUtil;
+import org.punit.message.*;
+import org.punit.method.builder.*;
+import org.punit.method.runner.*;
+import org.punit.util.*;
public class ConcurrentRunner extends AbstractRunner {
@@ -22,7 +21,7 @@
}
public ConcurrentRunner(int concurrentCount) {
- super(new TestSuiteBuilderImpl(), new MethodBuilderImpl(), new ConcurrentMethodRunner(concurrentCount));
+ super(new MethodBuilderImpl(), new ConcurrentMethodRunner(concurrentCount));
}
public String punitName() {
Modified: trunk/punit/src/org/punit/runner/Runner.java
===================================================================
--- trunk/punit/src/org/punit/runner/Runner.java 2008-04-17 02:18:56 UTC (rev 295)
+++ trunk/punit/src/org/punit/runner/Runner.java 2008-04-18 00:53:53 UTC (rev 296)
@@ -2,14 +2,13 @@
package org.punit.runner;
-import java.io.Serializable;
+import java.io.*;
-import org.punit.events.EventRegistry;
-import org.punit.method.builder.TestMethodBuilder;
-import org.punit.method.runner.MethodRunner;
-import org.punit.reporter.TestResult;
-import org.punit.suite.builder.TestSuiteBuilder;
-import org.punit.type.Name;
+import org.punit.events.*;
+import org.punit.method.builder.*;
+import org.punit.method.runner.*;
+import org.punit.reporter.*;
+import org.punit.type.*;
public interface Runner extends EventRegistry, Name, Serializable, Cloneable {
@@ -23,8 +22,6 @@
public MethodRunner methodRunner();
- public TestSuiteBuilder suiteBuilder();
-
public TestResult testResult();
public void resultFolder(String folder);
Modified: trunk/punit/src/org/punit/runner/SoloRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/SoloRunner.java 2008-04-17 02:18:56 UTC (rev 295)
+++ trunk/punit/src/org/punit/runner/SoloRunner.java 2008-04-18 00:53:53 UTC (rev 296)
@@ -5,7 +5,6 @@
import org.punit.message.*;
import org.punit.method.builder.*;
import org.punit.method.runner.*;
-import org.punit.suite.builder.*;
import org.punit.util.*;
public class SoloRunner extends AbstractRunner {
@@ -17,8 +16,7 @@
}
public SoloRunner() {
- super(new TestSuiteBuilderImpl(), new MethodBuilderImpl(),
- new SoloMethodRunner());
+ super(new MethodBuilderImpl(), new SoloMethodRunner());
}
public String punitName() {
Modified: trunk/punit/src/org/punit/runner/VanillaRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/VanillaRunner.java 2008-04-17 02:18:56 UTC (rev 295)
+++ trunk/punit/src/org/punit/runner/VanillaRunner.java 2008-04-18 00:53:53 UTC (rev 296)
@@ -7,7 +7,6 @@
import org.punit.method.builder.*;
import org.punit.method.runner.*;
import org.punit.reporter.*;
-import org.punit.suite.builder.*;
public class VanillaRunner implements Runner {
@@ -47,10 +46,6 @@
return _runner.run(clazz, properties);
}
- public TestSuiteBuilder suiteBuilder() {
- return _runner.suiteBuilder();
- }
-
public TestResult testResult() {
return _runner.testResult();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2008-04-18 06:51:09
|
Revision: 302
http://p-unit.svn.sourceforge.net/p-unit/?rev=302&view=rev
Author: zhanghuangzhu
Date: 2008-04-17 23:51:14 -0700 (Thu, 17 Apr 2008)
Log Message:
-----------
Andrew Zhang: typo, SEPERATOR -> SEPARATOR.
Modified Paths:
--------------
trunk/punit/src/org/punit/exception/ConcurrentException.java
trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
trunk/punit/src/org/punit/util/ReporterUtil.java
Modified: trunk/punit/src/org/punit/exception/ConcurrentException.java
===================================================================
--- trunk/punit/src/org/punit/exception/ConcurrentException.java 2008-04-18 06:37:58 UTC (rev 301)
+++ trunk/punit/src/org/punit/exception/ConcurrentException.java 2008-04-18 06:51:14 UTC (rev 302)
@@ -55,7 +55,7 @@
Iterator<Throwable> iter = _throwables.iterator();
while(iter.hasNext()) {
sb.append(iter.next());
- sb.append(ReporterUtil.LINE_SEPERATOR);
+ sb.append(ReporterUtil.LINE_SEPARATOR);
}
return sb.toString();
}
Modified: trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2008-04-18 06:37:58 UTC (rev 301)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2008-04-18 06:51:14 UTC (rev 302)
@@ -41,7 +41,7 @@
sb.append(Messages.getString("logger.01")); //$NON-NLS-1$
sb.append(" "); //$NON-NLS-1$
sb.append(clazz.getName());
- sb.append(ReporterUtil.LINE_SEPERATOR);
+ sb.append(ReporterUtil.LINE_SEPARATOR);
log(sb.toString(), Level.INFO);
}
@@ -83,7 +83,7 @@
}
sb.append(") - "); //$NON-NLS-1$
sb.append(_timeWatcher.stringValue());
- sb.append(ReporterUtil.LINE_SEPERATOR);
+ sb.append(ReporterUtil.LINE_SEPARATOR);
log(sb.toString(), Level.SEVERE);
}
@@ -107,7 +107,7 @@
StringBuffer sb = new StringBuffer();
sb.append(Messages.getString("logger.06")); //$NON-NLS-1$
sb.append(suite.getClass().getName());
- sb.append(ReporterUtil.LINE_SEPERATOR);
+ sb.append(ReporterUtil.LINE_SEPARATOR);
log(sb.toString(), Level.INFO);
}
@@ -140,10 +140,10 @@
sb.append("]"); //$NON-NLS-1$
}
- sb.append(ReporterUtil.LINE_SEPERATOR);
+ sb.append(ReporterUtil.LINE_SEPARATOR);
if(t != null) {
sb.append(t.toString());
- sb.append(ReporterUtil.LINE_SEPERATOR);
+ sb.append(ReporterUtil.LINE_SEPARATOR);
}
return sb.toString();
}
@@ -158,11 +158,11 @@
}
public void logln(Level level) {
- log(ReporterUtil.LINE_SEPERATOR, level);
+ log(ReporterUtil.LINE_SEPARATOR, level);
}
public void logln(String message, Level level) {
- log(message + ReporterUtil.LINE_SEPERATOR, level);
+ log(message + ReporterUtil.LINE_SEPARATOR, level);
}
public void log(String message, Level level) {
Modified: trunk/punit/src/org/punit/util/ReporterUtil.java
===================================================================
--- trunk/punit/src/org/punit/util/ReporterUtil.java 2008-04-18 06:37:58 UTC (rev 301)
+++ trunk/punit/src/org/punit/util/ReporterUtil.java 2008-04-18 06:51:14 UTC (rev 302)
@@ -10,14 +10,10 @@
public class ReporterUtil {
- public final static String LINE_SEPERATOR;
+ public final static String LINE_SEPARATOR = System.getProperty("line.separator", "\n"); //$NON-NLS-1$;
private static boolean _isResultFolderCreated;
- static {
- LINE_SEPERATOR = System.getProperty("line.separator"); //$NON-NLS-1$
- }
-
public static String simpleMethodName(Method method) {
Class<?>[] params = method.getParameterTypes();
String[] paramsNames = new String[params.length];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2008-05-28 00:44:19
|
Revision: 310
http://p-unit.svn.sourceforge.net/p-unit/?rev=310&view=rev
Author: zhanghuangzhu
Date: 2008-05-27 17:44:26 -0700 (Tue, 27 May 2008)
Log Message:
-----------
az: applied nested beforeClass/afterClass/setUp/tearDown patch from Chris Wilson.
Modified Paths:
--------------
trunk/punit/src/org/punit/convention/AnnotationConvention.java
trunk/punit/src/org/punit/convention/ByNameConvention.java
trunk/punit/src/org/punit/convention/Convention.java
trunk/punit/src/org/punit/exception/PUnitException.java
trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java
trunk/punit/src/org/punit/runner/AbstractRunner.java
trunk/punit/src/org/punit/util/AnnotationUtil.java
Added Paths:
-----------
trunk/punit/src/org/punit/exception/AnnotationException.java
Modified: trunk/punit/src/org/punit/convention/AnnotationConvention.java
===================================================================
--- trunk/punit/src/org/punit/convention/AnnotationConvention.java 2008-05-22 12:47:41 UTC (rev 309)
+++ trunk/punit/src/org/punit/convention/AnnotationConvention.java 2008-05-28 00:44:26 UTC (rev 310)
@@ -4,7 +4,12 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
import org.punit.annotation.Test;
+import org.punit.exception.AnnotationException;
import org.punit.util.AnnotationUtil;
import org.punit.util.ReflectionUtil;
@@ -95,40 +100,110 @@
}
@SuppressWarnings("unchecked")
- public Method getAfterClassMethod(Class test) {
- Method method = AnnotationUtil.getMethodByAnnotation(test, _afterClass);
- if (method == null) {
- method = _delegate.getAfterClassMethod(test);
+ public Method[] getAfterClassMethod(Class test) {
+ return getAfterClassMethod(test, false);
+ }
+ @SuppressWarnings("unchecked")
+ private Method[] getAfterClassMethod(Class test, boolean annotationOnly) {
+ if (test == null) return new Method[0];
+
+ Method[] annotatedMethods = AnnotationUtil.getMethodsByAnnotation(test, _afterClass);
+ if (annotatedMethods != null && annotatedMethods.length > 1) throw new AnnotationException( "Too many @AfterClass annotations - only one allowed per class" );
+
+ // Get the AfterClass methods from the superclasses (if any) - only look at annotations, though
+ Method[] superMethods = getAfterClassMethod(test.getSuperclass(), true);
+
+ // Look for un-anotated method in this class if there has been no annotated methods in superclass
+ if (annotationOnly = false && (annotatedMethods == null || annotatedMethods.length == 0) && (superMethods == null || superMethods.length==0)) {
+ return _delegate.getAfterClassMethod(test);
}
- return method;
+
+ // This classes method needs to be on the list before its superclasses
+ List<Method> methodsList = new ArrayList<Method>();
+ if (annotatedMethods != null && annotatedMethods.length > 0) methodsList.add(annotatedMethods[0]);
+ if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
+
+ return methodsList.size() == 0 ? null : methodsList.toArray(new Method[0]);
}
@SuppressWarnings("unchecked")
- public Method getBeforeClassMethod(Class test) {
- Method method = AnnotationUtil
- .getMethodByAnnotation(test, _beforeClass);
- if (method == null) {
- method = _delegate.getBeforeClassMethod(test);
+ public Method[] getBeforeClassMethod(Class test) {
+ return getBeforeClassMethod(test, false);
+ }
+ @SuppressWarnings("unchecked")
+ private Method[] getBeforeClassMethod(Class test, boolean annotationOnly) {
+ if (test == null) return new Method[0];
+
+ Method[] annotatedMethods = AnnotationUtil
+ .getMethodsByAnnotation(test, _beforeClass);
+ if (annotatedMethods != null && annotatedMethods.length > 1) throw new AnnotationException( "Too many @BeforeClass annotations - only one allowed per class" );
+
+ // Get the BeforeClass methods from the superclasses (if any) - only look at annotations, though
+ Method[] superMethods = getBeforeClassMethod(test.getSuperclass(), true);
+
+ // Look for un-anotated method in this class if there has been no annotated methods in superclass
+ if (annotationOnly = false && (annotatedMethods == null || annotatedMethods.length == 0) && (superMethods == null || superMethods.length==0)) {
+ return _delegate.getBeforeClassMethod(test);
}
- return method;
+
+ // This classes method needs to be on the list after its superclasses
+ List<Method> methodsList = new ArrayList<Method>();
+ if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
+ if (annotatedMethods != null && annotatedMethods.length > 0) methodsList.add(annotatedMethods[0]);
+
+ return methodsList.size() == 0 ? null : methodsList.toArray(new Method[0]);
}
@SuppressWarnings("unchecked")
- public Method getSetUpMethod(Class test) {
- Method method = AnnotationUtil.getMethodByAnnotation(test, _before);
- if (method == null) {
- method = _delegate.getSetUpMethod(test);
+ public Method[] getSetUpMethod(Class test) {
+ return getSetUpMethod(test, false);
+ }
+ @SuppressWarnings("unchecked")
+ private Method[] getSetUpMethod(Class test, boolean annotationOnly) {
+ if (test == null) return new Method[0];
+
+ Method[] annotatedMethods = AnnotationUtil.getMethodsByAnnotation(test, _before);
+
+ // Get the Before methods from the superclasses (if any)
+ Method[] superMethods = getSetUpMethod(test.getSuperclass(), true);
+
+ // Look for un-anotated method in this class if there has been no annotated methods in superclass
+ if (annotationOnly = false && (annotatedMethods == null || annotatedMethods.length == 0) && (superMethods == null || superMethods.length==0)) {
+ return _delegate.getSetUpMethod(test);
}
- return method;
+
+ // This classes method needs to be on the list after its superclasses
+ List<Method> methodsList = new ArrayList<Method>();
+ if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
+ if (annotatedMethods != null) methodsList.addAll(Arrays.asList(annotatedMethods));
+
+ return methodsList.size() == 0 ? null : methodsList.toArray(new Method[0]);
}
@SuppressWarnings("unchecked")
- public Method getTearDownMethod(Class test) {
- Method method = AnnotationUtil.getMethodByAnnotation(test, _after);
- if (method == null) {
- method = _delegate.getTearDownMethod(test);
+ public Method[] getTearDownMethod(Class test) {
+ return getTearDownMethod(test, false);
+ }
+ @SuppressWarnings("unchecked")
+ private Method[] getTearDownMethod(Class test, boolean annotationOnly) {
+ if (test == null) return new Method[0];
+
+ Method[] annotatedMethods = AnnotationUtil.getMethodsByAnnotation(test, _after);
+
+ // Get the After methods from the superclasses (if any)
+ Method[] superMethods = getTearDownMethod(test.getSuperclass(), true);
+
+ // Look for un-anotated method in this class if there has been no annotated methods in superclass
+ if (annotationOnly = false && (annotatedMethods == null || annotatedMethods.length == 0) && (superMethods == null || superMethods.length==0)) {
+ return _delegate.getTearDownMethod(test);
}
- return method;
+
+ // This classes method needs to be on the list before its superclasses
+ List<Method> methodsList = new ArrayList<Method>();
+ if (annotatedMethods != null) methodsList.addAll(Arrays.asList(annotatedMethods));
+ if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
+
+ return methodsList.size() == 0 ? null : methodsList.toArray(new Method[0]);
}
}
Modified: trunk/punit/src/org/punit/convention/ByNameConvention.java
===================================================================
--- trunk/punit/src/org/punit/convention/ByNameConvention.java 2008-05-22 12:47:41 UTC (rev 309)
+++ trunk/punit/src/org/punit/convention/ByNameConvention.java 2008-05-28 00:44:26 UTC (rev 310)
@@ -75,31 +75,33 @@
}
}
- public Method getAfterClassMethod(Class<?> test) {
+ public Method[] getAfterClassMethod(Class<?> test) {
Method method = ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
"afterClass", new Class[] {}); //$NON-NLS-1$
if (method != null && ReflectionUtil.isStatic(method)) {
- return method;
+ return new Method[]{method};
}
return null;
}
- public Method getBeforeClassMethod(Class<?> test) {
+ public Method[] getBeforeClassMethod(Class<?> test) {
Method method = ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
"beforeClass", new Class[] {}); //$NON-NLS-1$
if (method != null && ReflectionUtil.isStatic(method)) {
- return method;
+ return new Method[]{method};
}
return null;
}
- public Method getSetUpMethod(Class<?> test) {
- return ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
+ public Method[] getSetUpMethod(Class<?> test) {
+ Method m = ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
"setUp", new Class[] {}); //$NON-NLS-1$
+ return m == null ? null : new Method[]{m};
}
- public Method getTearDownMethod(Class<?> test) {
- return ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
+ public Method[] getTearDownMethod(Class<?> test) {
+ Method m = ReflectionUtil.getMethodAndSetAccessibleWithAncestor(test,
"tearDown", new Class[] {}); //$NON-NLS-1$
+ return m == null ? null : new Method[]{m};
}
}
Modified: trunk/punit/src/org/punit/convention/Convention.java
===================================================================
--- trunk/punit/src/org/punit/convention/Convention.java 2008-05-22 12:47:41 UTC (rev 309)
+++ trunk/punit/src/org/punit/convention/Convention.java 2008-05-28 00:44:26 UTC (rev 310)
@@ -34,13 +34,13 @@
public int getConcurrentCount(Object testInstance, Method method);
- public Method getSetUpMethod(Class<?> test);
+ public Method[] getSetUpMethod(Class<?> test);
- public Method getTearDownMethod(Class<?> test);
+ public Method[] getTearDownMethod(Class<?> test);
- public Method getBeforeClassMethod(Class<?> test);
+ public Method[] getBeforeClassMethod(Class<?> test);
- public Method getAfterClassMethod(Class<?> test);
+ public Method[] getAfterClassMethod(Class<?> test);
public boolean isPUnitTest(Class<?> clazz);
Added: trunk/punit/src/org/punit/exception/AnnotationException.java
===================================================================
--- trunk/punit/src/org/punit/exception/AnnotationException.java (rev 0)
+++ trunk/punit/src/org/punit/exception/AnnotationException.java 2008-05-28 00:44:26 UTC (rev 310)
@@ -0,0 +1,10 @@
+package org.punit.exception;
+
+public class AnnotationException extends PUnitException {
+
+ private static final long serialVersionUID = 7258575188079634724L;
+
+ public AnnotationException(String message) {
+ super(message);
+ }
+}
Property changes on: trunk/punit/src/org/punit/exception/AnnotationException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Modified: trunk/punit/src/org/punit/exception/PUnitException.java
===================================================================
--- trunk/punit/src/org/punit/exception/PUnitException.java 2008-05-22 12:47:41 UTC (rev 309)
+++ trunk/punit/src/org/punit/exception/PUnitException.java 2008-05-28 00:44:26 UTC (rev 310)
@@ -17,4 +17,8 @@
public PUnitException(String message, Throwable e) {
super(message, e);
}
+
+ public PUnitException(String message) {
+ super(message);
+ }
}
Modified: trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java 2008-05-22 12:47:41 UTC (rev 309)
+++ trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java 2008-05-28 00:44:26 UTC (rev 310)
@@ -38,9 +38,9 @@
protected transient Class<?> _class;
- protected transient Method _setUpMethod;
+ protected transient Method[] _setUpMethods;
- protected transient Method _tearDownMethod;
+ protected transient Method[] _tearDownMethods;
private transient Method _checkMethod;
@@ -137,8 +137,8 @@
_class = testInstance.getClass();
_params = params;
_method = method;
- _setUpMethod = _convention.getSetUpMethod(_class);
- _tearDownMethod = _convention.getTearDownMethod(_class);
+ _setUpMethods = _convention.getSetUpMethod(_class);
+ _tearDownMethods = _convention.getTearDownMethod(_class);
_checkMethod = _convention.getCheckMethod(method);
_expectedException = _convention.getExpectedException(method);
long toWork = _convention.toWork(_testInstance);
@@ -206,24 +206,28 @@
}
private void setUp() throws Throwable {
- if (_setUpMethod != null) {
- try {
- ReflectionUtil.invokeMethod(_setUpMethod, _testInstance,
- new Object[] {});
- } catch (ReflectionException e) {
- throw e.getCause();
- }
+ if (_setUpMethods != null) {
+ for (Method setUpMethod : _setUpMethods) {
+ try {
+ ReflectionUtil.invokeMethod(setUpMethod, _testInstance,
+ new Object[] {});
+ } catch (ReflectionException e) {
+ throw e.getCause();
+ }
+ }
}
}
private void tearDown() throws Throwable {
- if (_tearDownMethod != null) {
- try {
- ReflectionUtil.invokeMethod(_tearDownMethod, _testInstance,
- new Object[] {});
- } catch (ReflectionException e) {
- throw e.getCause();
- }
+ if (_tearDownMethods != null) {
+ for (Method tearDownMethod : _tearDownMethods) {
+ try {
+ ReflectionUtil.invokeMethod(tearDownMethod, _testInstance,
+ new Object[] {});
+ } catch (ReflectionException e) {
+ throw e.getCause();
+ }
+ }
}
}
Modified: trunk/punit/src/org/punit/runner/AbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/AbstractRunner.java 2008-05-22 12:47:41 UTC (rev 309)
+++ trunk/punit/src/org/punit/runner/AbstractRunner.java 2008-05-28 00:44:26 UTC (rev 310)
@@ -291,18 +291,24 @@
}
private void beforeClass(Class<?> clazz) {
- Method beforeClassMethod = _convention.getBeforeClassMethod(clazz);
- if (beforeClassMethod != null) {
- ReflectionUtil.invokeMethod(beforeClassMethod, null,
- new Object[] {});
+ Method[] beforeClassMethods = _convention.getBeforeClassMethod(clazz);
+ if (beforeClassMethods == null) return;
+ for (Method beforeClassMethod : beforeClassMethods) {
+ if (beforeClassMethod != null) {
+ ReflectionUtil.invokeMethod(beforeClassMethod, null,
+ new Object[] {});
+ }
}
}
private void afterClass(Class<?> clazz) {
- Method afterClassMethod = _convention.getAfterClassMethod(clazz);
- if (afterClassMethod != null) {
- ReflectionUtil
- .invokeMethod(afterClassMethod, null, new Object[] {});
+ Method[] afterClassMethods = _convention.getAfterClassMethod(clazz);
+ if (afterClassMethods == null) return;
+ for (Method afterClassMethod : afterClassMethods) {
+ if (afterClassMethod != null) {
+ ReflectionUtil
+ .invokeMethod(afterClassMethod, null, new Object[] {});
+ }
}
}
Modified: trunk/punit/src/org/punit/util/AnnotationUtil.java
===================================================================
--- trunk/punit/src/org/punit/util/AnnotationUtil.java 2008-05-22 12:47:41 UTC (rev 309)
+++ trunk/punit/src/org/punit/util/AnnotationUtil.java 2008-05-28 00:44:26 UTC (rev 310)
@@ -4,20 +4,23 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
public class AnnotationUtil {
- public static <T extends Annotation> Method getMethodByAnnotation(
+ public static <T extends Annotation> Method[] getMethodsByAnnotation(
Class<?> clazz, Class<T> annotationClass) {
Method[] methods = clazz.getDeclaredMethods();
+ List<Method> annotationMethodsList = new ArrayList<Method>();
for (int i = 0; i < methods.length; ++i) {
Method method = methods[i];
Annotation annotation = method.getAnnotation(annotationClass);
if (annotation != null) {
method.setAccessible(true);
- return method;
+ annotationMethodsList.add(method);
}
}
- return null;
+ return annotationMethodsList.toArray(new Method[0]);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cu...@us...> - 2008-05-28 09:34:40
|
Revision: 312
http://p-unit.svn.sourceforge.net/p-unit/?rev=312&view=rev
Author: cuvavu
Date: 2008-05-28 02:34:47 -0700 (Wed, 28 May 2008)
Log Message:
-----------
Adding in a general method for dealing with before and after annotations. This is a bit bulky.
Modified Paths:
--------------
trunk/punit/src/org/punit/convention/AnnotationConvention.java
trunk/punit/src/org/punit/exception/AnnotationException.java
Modified: trunk/punit/src/org/punit/convention/AnnotationConvention.java
===================================================================
--- trunk/punit/src/org/punit/convention/AnnotationConvention.java 2008-05-28 00:44:46 UTC (rev 311)
+++ trunk/punit/src/org/punit/convention/AnnotationConvention.java 2008-05-28 09:34:47 UTC (rev 312)
@@ -3,6 +3,7 @@
package org.punit.convention;
import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
@@ -101,109 +102,98 @@
@SuppressWarnings("unchecked")
public Method[] getAfterClassMethod(Class test) {
- return getAfterClassMethod(test, false);
+ try {
+ return getClassAnnotationMethod(test, false, _afterClass, _delegate.getClass().getMethod("getAfterClassMethod", Class.class), true, false);
+ } catch (SecurityException e) {
+ throw new AnnotationException( "Problem finding method", e );
+ } catch (NoSuchMethodException e) {
+ throw new AnnotationException( "Problem finding method", e );
+ }
}
- @SuppressWarnings("unchecked")
- private Method[] getAfterClassMethod(Class test, boolean annotationOnly) {
- if (test == null) return new Method[0];
-
- Method[] annotatedMethods = AnnotationUtil.getMethodsByAnnotation(test, _afterClass);
- if (annotatedMethods != null && annotatedMethods.length > 1) throw new AnnotationException( "Too many @AfterClass annotations - only one allowed per class" );
-
- // Get the AfterClass methods from the superclasses (if any) - only look at annotations, though
- Method[] superMethods = getAfterClassMethod(test.getSuperclass(), true);
-
- // Look for un-anotated method in this class if there has been no annotated methods in superclass
- if (annotationOnly = false && (annotatedMethods == null || annotatedMethods.length == 0) && (superMethods == null || superMethods.length==0)) {
- return _delegate.getAfterClassMethod(test);
- }
-
- // This classes method needs to be on the list before its superclasses
- List<Method> methodsList = new ArrayList<Method>();
- if (annotatedMethods != null && annotatedMethods.length > 0) methodsList.add(annotatedMethods[0]);
- if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
-
- return methodsList.size() == 0 ? null : methodsList.toArray(new Method[0]);
- }
@SuppressWarnings("unchecked")
public Method[] getBeforeClassMethod(Class test) {
- return getBeforeClassMethod(test, false);
+ try {
+ return getClassAnnotationMethod(test, false, _beforeClass, _delegate.getClass().getMethod("getBeforeClassMethod", Class.class), false, false);
+ } catch (SecurityException e) {
+ throw new AnnotationException( "Problem finding method", e );
+ } catch (NoSuchMethodException e) {
+ throw new AnnotationException( "Problem finding method", e );
+ }
}
- @SuppressWarnings("unchecked")
- private Method[] getBeforeClassMethod(Class test, boolean annotationOnly) {
- if (test == null) return new Method[0];
-
- Method[] annotatedMethods = AnnotationUtil
- .getMethodsByAnnotation(test, _beforeClass);
- if (annotatedMethods != null && annotatedMethods.length > 1) throw new AnnotationException( "Too many @BeforeClass annotations - only one allowed per class" );
- // Get the BeforeClass methods from the superclasses (if any) - only look at annotations, though
- Method[] superMethods = getBeforeClassMethod(test.getSuperclass(), true);
-
- // Look for un-anotated method in this class if there has been no annotated methods in superclass
- if (annotationOnly = false && (annotatedMethods == null || annotatedMethods.length == 0) && (superMethods == null || superMethods.length==0)) {
- return _delegate.getBeforeClassMethod(test);
- }
-
- // This classes method needs to be on the list after its superclasses
- List<Method> methodsList = new ArrayList<Method>();
- if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
- if (annotatedMethods != null && annotatedMethods.length > 0) methodsList.add(annotatedMethods[0]);
-
- return methodsList.size() == 0 ? null : methodsList.toArray(new Method[0]);
- }
-
@SuppressWarnings("unchecked")
public Method[] getSetUpMethod(Class test) {
- return getSetUpMethod(test, false);
+ try {
+ return getClassAnnotationMethod(test, false, _before, _delegate.getClass().getMethod("getSetUpMethod", Class.class), false, true);
+ } catch (SecurityException e) {
+ throw new AnnotationException( "Problem finding method", e );
+ } catch (NoSuchMethodException e) {
+ throw new AnnotationException( "Problem finding method", e );
+ }
}
- @SuppressWarnings("unchecked")
- private Method[] getSetUpMethod(Class test, boolean annotationOnly) {
- if (test == null) return new Method[0];
-
- Method[] annotatedMethods = AnnotationUtil.getMethodsByAnnotation(test, _before);
-
- // Get the Before methods from the superclasses (if any)
- Method[] superMethods = getSetUpMethod(test.getSuperclass(), true);
-
- // Look for un-anotated method in this class if there has been no annotated methods in superclass
- if (annotationOnly = false && (annotatedMethods == null || annotatedMethods.length == 0) && (superMethods == null || superMethods.length==0)) {
- return _delegate.getSetUpMethod(test);
- }
-
- // This classes method needs to be on the list after its superclasses
- List<Method> methodsList = new ArrayList<Method>();
- if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
- if (annotatedMethods != null) methodsList.addAll(Arrays.asList(annotatedMethods));
-
- return methodsList.size() == 0 ? null : methodsList.toArray(new Method[0]);
- }
@SuppressWarnings("unchecked")
public Method[] getTearDownMethod(Class test) {
- return getTearDownMethod(test, false);
+ try {
+ return getClassAnnotationMethod(test, false, _after, _delegate.getClass().getMethod("getTearDownMethod", Class.class), true, true);
+ } catch (SecurityException e) {
+ throw new AnnotationException( "Problem finding method", e );
+ } catch (NoSuchMethodException e) {
+ throw new AnnotationException( "Problem finding method", e );
+ }
}
+
+ /**
+ * Method to get, recursively, annotated methods from superclasses. This is a bit of a beast because
+ * it needs to account for for slightly different ways of doing things.
+ *
+ * @param test Class to test
+ * @param annotationOnly Check for old-style name based methods?
+ * @param annotation Annotation to look for
+ * @param delegateMethod Method to use when looking for alternatives name-based methods
+ * @param before Is this method an "after" method (or a before)?
+ * @param allowMultiple Allow multiple tests?
+ * @return
+ */
@SuppressWarnings("unchecked")
- private Method[] getTearDownMethod(Class test, boolean annotationOnly) {
+ private Method[] getClassAnnotationMethod(Class test,
+ boolean annotationOnly,
+ Class<? extends Annotation> annotation,
+ Method delegateMethod,
+ boolean after,
+ boolean allowMultiple) {
if (test == null) return new Method[0];
- Method[] annotatedMethods = AnnotationUtil.getMethodsByAnnotation(test, _after);
+ Method[] annotatedMethods = AnnotationUtil.getMethodsByAnnotation(test, annotation);
+ if (!allowMultiple && annotatedMethods != null && annotatedMethods.length > 1) throw new AnnotationException( "Too many " + annotation.getCanonicalName() + "annotations - only one allowed per class" );
- // Get the After methods from the superclasses (if any)
- Method[] superMethods = getTearDownMethod(test.getSuperclass(), true);
+ // Get the annotated methods from the superclasses (if any) - only look at annotations, though
+ Method[] superMethods = getClassAnnotationMethod(test.getSuperclass(), true, annotation, delegateMethod, after, allowMultiple);
// Look for un-anotated method in this class if there has been no annotated methods in superclass
- if (annotationOnly = false && (annotatedMethods == null || annotatedMethods.length == 0) && (superMethods == null || superMethods.length==0)) {
- return _delegate.getTearDownMethod(test);
+ if (annotationOnly = false && (annotatedMethods == null || annotatedMethods.length == 0) && (superMethods == null || superMethods.length==0)) {
+ try {
+ return (Method[])delegateMethod.invoke(_delegate, test);
+ } catch (IllegalArgumentException e) {
+ throw new AnnotationException( "Problem running method", e );
+ } catch (IllegalAccessException e) {
+ throw new AnnotationException( "Problem running method", e );
+ } catch (InvocationTargetException e) {
+ throw new AnnotationException( "Problem running method", e );
+ }
}
- // This classes method needs to be on the list before its superclasses
+ // Do we want the superclass code to be before or after the current code?
List<Method> methodsList = new ArrayList<Method>();
- if (annotatedMethods != null) methodsList.addAll(Arrays.asList(annotatedMethods));
- if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
+ if (after) {
+ if (annotatedMethods != null && annotatedMethods.length > 0) methodsList.add(annotatedMethods[0]);
+ if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
+ } else {
+ if (superMethods != null) methodsList.addAll(Arrays.asList(superMethods));
+ if (annotatedMethods != null && annotatedMethods.length > 0) methodsList.add(annotatedMethods[0]);
+ }
return methodsList.size() == 0 ? null : methodsList.toArray(new Method[0]);
}
-
-}
+}
\ No newline at end of file
Modified: trunk/punit/src/org/punit/exception/AnnotationException.java
===================================================================
--- trunk/punit/src/org/punit/exception/AnnotationException.java 2008-05-28 00:44:46 UTC (rev 311)
+++ trunk/punit/src/org/punit/exception/AnnotationException.java 2008-05-28 09:34:47 UTC (rev 312)
@@ -7,4 +7,8 @@
public AnnotationException(String message) {
super(message);
}
+
+ public AnnotationException(String message, Throwable t) {
+ super(message, t);
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <zha...@us...> - 2008-06-17 06:35:23
|
Revision: 324
http://p-unit.svn.sourceforge.net/p-unit/?rev=324&view=rev
Author: zhanghuangzhu
Date: 2008-06-16 23:35:30 -0700 (Mon, 16 Jun 2008)
Log Message:
-----------
Andrew Zhag: removed multiple virtual machine support.
Modified Paths:
--------------
trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java
trunk/punit/src/org/punit/method/runner/MethodRunner.java
trunk/punit/src/org/punit/runner/AbstractRunner.java
trunk/punit/src/org/punit/runner/ConcurrentRunner.java
trunk/punit/src/org/punit/runner/Runner.java
trunk/punit/src/org/punit/runner/SoloRunner.java
trunk/punit/src/org/punit/runner/VanillaRunner.java
trunk/punit/src/org/punit/util/ReporterUtil.java
Removed Paths:
-------------
trunk/punit/src/org/punit/runner/RunnerProperties.java
trunk/punit/src/org/punit/util/RunnerUtil.java
Modified: trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/method/runner/AbstractMethodRunner.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -22,8 +22,6 @@
private AbstractRunner _runner;
- private RunnerProperties _runnerProperties;
-
protected Convention _convention;
private transient ToStopThread _toStopThread;
@@ -57,10 +55,6 @@
_runner = runner;
}
- public void setRunnerProperties(RunnerProperties props) {
- _runnerProperties = props;
- }
-
public void addWatcher(Watcher watcher) {
_watchers.add(watcher);
}
@@ -71,28 +65,14 @@
public void run(Object testInstance, Method method, Object[] params) {
onMethodStart(method, testInstance, params);
- Throwable throwable = null;
- try {
- if (needsRunMethod()) {
- init(testInstance, method, params);
- runImpl( testInstance, method, params );
- } else {
- startWatchers(testInstance, method, params);
- }
- } catch (Throwable t) {
- throwable = t;
- } finally {
- try {
- if (!needsRunMethod()) {
- stopWatchers(testInstance, method, params);
- }
- } catch (Throwable t) {
- if(throwable == null) {
- throwable = t;
- }
- }
- }
- onMethodEnd(method, testInstance, params, throwable);
+ Throwable throwable = null;
+ try {
+ init(testInstance, method, params);
+ runImpl(testInstance, method, params);
+ } catch (Throwable t) {
+ throwable = t;
+ }
+ onMethodEnd(method, testInstance, params, throwable);
}
protected void startToStopThread() {
@@ -239,10 +219,6 @@
return _watchers;
}
- public boolean needsRunMethod() {
- return !_runnerProperties.isParent;
- }
-
@SuppressWarnings("unchecked")
public Object clone() {
try {
Modified: trunk/punit/src/org/punit/method/runner/MethodRunner.java
===================================================================
--- trunk/punit/src/org/punit/method/runner/MethodRunner.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/method/runner/MethodRunner.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -19,8 +19,6 @@
public void run(Object testInstance, Method method, Object[] params);
public void setRunner(AbstractRunner runner);
-
- public void setRunnerProperties(RunnerProperties props);
/**
* @return watchers associated with this method runner
Modified: trunk/punit/src/org/punit/runner/AbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/AbstractRunner.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/runner/AbstractRunner.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -2,7 +2,6 @@
package org.punit.runner;
-import java.io.*;
import java.lang.reflect.*;
import java.util.*;
import java.util.concurrent.atomic.*;
@@ -10,7 +9,6 @@
import org.punit.convention.*;
import org.punit.events.EventListener;
import org.punit.exception.*;
-import org.punit.exception.IOException;
import org.punit.message.*;
import org.punit.method.builder.*;
import org.punit.method.runner.*;
@@ -34,8 +32,6 @@
private ConsoleLogger _consoleLogger = new ConsoleLogger();
- private RunnerProperties _properties = new RunnerProperties();
-
private ExecutorPool _executorPool;
private Convention _convention;
@@ -48,7 +44,6 @@
_testMethodBuilder = testMethodBuilder;
_methodRunner = testMethodRunner;
_methodRunner.setRunner(this);
- _methodRunner.setRunnerProperties(_properties);
registerDefaultListeners();
setConvention(new ByNameConvention());
}
@@ -109,11 +104,6 @@
});
}
- public int run(Class<?> clazz, RunnerProperties properties) {
- setRunnerProperties(properties);
- return run(clazz);
- }
-
public void setExecutorPool(ExecutorPool pool) {
_executorPool = pool;
}
@@ -130,105 +120,10 @@
}
}
- private void setRunnerProperties(RunnerProperties properties) {
- _properties = properties;
- _methodRunner.setRunnerProperties(_properties);
- }
-
- public void runVMs(Class<?> clazz, VM[] vms) {
- _properties.isParent = true;
- _properties.vms = vms;
- for (int i = 0; i < vms.length; ++i) {
- VM vm = vms[i];
- storeRunnerConfig(vm);
- storeRunnerProperties(vm);
- String command = generateVMCommand(clazz, vm);
- Process p = IOUtil.exec(command);
- readErrorStream(p);
- readOutputStream(p);
- try {
- p.waitFor();
- } catch (InterruptedException e) {
- throw new IOException(e);
- }
- deleteRunnerConfig(vm);
- deleteRunnerProperties(vm);
- }
- filterNonParentEventListeners();
- run(clazz);
- }
public void addWatcher(Watcher watcher) {
_methodRunner.addWatcher(watcher);
}
-
- private void readOutputStream(Process p) {
- new StreamReaderThread(p.getInputStream(), false).start();
- }
-
- private void readErrorStream(Process p) {
- new StreamReaderThread(p.getErrorStream(), true).start();
- }
-
- private void filterNonParentEventListeners() {
- final List<EventListener> newEventListener = new ArrayList<EventListener>();
- Iterator<EventListener> iter = _eventListeners.iterator();
- while (iter.hasNext()) {
- EventListener listener = iter.next();
- if (listener.supportParentRunner()) {
- newEventListener.add(listener);
- }
- }
- _eventListeners.clear();
- _eventListeners.addAll(newEventListener);
- }
-
- private void deleteRunnerProperties(VM vm) {
- IOUtil.deleteFile(runnerPropertiesFileName(vm));
- }
-
- private void deleteRunnerConfig(VM vm) {
- IOUtil.deleteFile(runnerConfigFileName(vm));
- }
-
- private void storeRunnerProperties(VM vm) {
- RunnerProperties properties = new RunnerProperties();
- properties.vmName = vm.punitName();
- properties.isIntermediate = true;
- IOUtil.serialize(properties, runnerPropertiesFileName(vm));
- }
-
- private void storeRunnerConfig(VM vm) {
- IOUtil.serialize(this, runnerConfigFileName(vm));
- }
-
- private String runnerConfigFileName(VM vm) {
- return resultFolder() + File.separator + vm.punitName()
- + ".cfg"; //$NON-NLS-1$
- }
-
- private String runnerPropertiesFileName(VM vm) {
- return resultFolder() + File.separator + vm.punitName()
- + ".props"; //$NON-NLS-1$
- }
-
- public RunnerProperties properties() {
- return _properties;
- }
-
- private String generateVMCommand(Class<?> clazz, VM vm) {
- final StringBuffer sb = new StringBuffer();
- sb.append(vm.path());
- sb.append(" "); //$NON-NLS-1$
- sb.append(this.getClass().getName());
- sb.append(" "); //$NON-NLS-1$
- sb.append(clazz.getName());
- sb.append(" "); //$NON-NLS-1$
- sb.append(runnerConfigFileName(vm));
- sb.append(" "); //$NON-NLS-1$
- sb.append(runnerPropertiesFileName(vm));
- return sb.toString();
- }
private void runTestClass(final Class<?> clazz) {
if (_executorPool == null) {
Modified: trunk/punit/src/org/punit/runner/ConcurrentRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/ConcurrentRunner.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/runner/ConcurrentRunner.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -4,17 +4,12 @@
import org.punit.message.*;
import org.punit.method.builder.*;
import org.punit.method.runner.*;
-import org.punit.util.*;
public class ConcurrentRunner extends AbstractRunner {
private static final long serialVersionUID = -7193902024861434576L;
private static final int DEFAULT_CONCURRENT_COUNT = 10;
-
- public static void main(String[] args) {
- RunnerUtil.run(new ConcurrentRunner(), args);
- }
public ConcurrentRunner() {
this(ConcurrentRunner.DEFAULT_CONCURRENT_COUNT);
Modified: trunk/punit/src/org/punit/runner/Runner.java
===================================================================
--- trunk/punit/src/org/punit/runner/Runner.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/runner/Runner.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -15,10 +15,6 @@
public int run(Class<?> clazz);
- public int run(Class<?> clazz, RunnerProperties properties);
-
- public RunnerProperties properties();
-
public TestMethodBuilder methodBuilder();
public MethodRunner methodRunner();
Deleted: trunk/punit/src/org/punit/runner/RunnerProperties.java
===================================================================
--- trunk/punit/src/org/punit/runner/RunnerProperties.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/runner/RunnerProperties.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -1,21 +0,0 @@
-/* (C) Copyright 2007, by Andrew Zhang */
-
-package org.punit.runner;
-
-import java.io.Serializable;
-
-import org.punit.type.VM;
-
-public class RunnerProperties implements Serializable {
-
- private static final long serialVersionUID = -4832579362013257784L;
-
- public String vmName;
-
- public boolean isIntermediate;
-
- public boolean isParent;
-
- public VM[] vms;
-
-}
Modified: trunk/punit/src/org/punit/runner/SoloRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/SoloRunner.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/runner/SoloRunner.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -5,16 +5,11 @@
import org.punit.message.*;
import org.punit.method.builder.*;
import org.punit.method.runner.*;
-import org.punit.util.*;
public class SoloRunner extends AbstractRunner {
private static final long serialVersionUID = 5938649527831492676L;
- public static void main(String[] args) {
- RunnerUtil.run(new SoloRunner(), args);
- }
-
public SoloRunner() {
super(new MethodBuilderImpl(), new SoloMethodRunner());
}
Modified: trunk/punit/src/org/punit/runner/VanillaRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/VanillaRunner.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/runner/VanillaRunner.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -27,10 +27,6 @@
return _runner.methodRunner();
}
- public RunnerProperties properties() {
- return _runner.properties();
- }
-
public void resultFolder(String folder) {
_runner.resultFolder(folder);
}
@@ -43,10 +39,6 @@
return _runner.run(clazz);
}
- public int run(Class<?> clazz, RunnerProperties properties) {
- return _runner.run(clazz, properties);
- }
-
public TestResult testResult() {
return _runner.testResult();
}
Modified: trunk/punit/src/org/punit/util/ReporterUtil.java
===================================================================
--- trunk/punit/src/org/punit/util/ReporterUtil.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/util/ReporterUtil.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -2,11 +2,10 @@
package org.punit.util;
-import java.io.File;
-import java.lang.reflect.Method;
+import java.io.*;
+import java.lang.reflect.*;
-import org.punit.runner.Runner;
-import org.punit.runner.RunnerProperties;
+import org.punit.runner.*;
public class ReporterUtil {
@@ -53,11 +52,6 @@
sb.append(clazz.getName());
sb.append("."); //$NON-NLS-1$
sb.append(runner.punitName());
- RunnerProperties properties = runner.properties();
- if(properties.vmName != null) {
- sb.append("."); //$NON-NLS-1$
- sb.append(properties.vmName);
- }
return sb.toString();
}
Deleted: trunk/punit/src/org/punit/util/RunnerUtil.java
===================================================================
--- trunk/punit/src/org/punit/util/RunnerUtil.java 2008-06-17 06:35:04 UTC (rev 323)
+++ trunk/punit/src/org/punit/util/RunnerUtil.java 2008-06-17 06:35:30 UTC (rev 324)
@@ -1,32 +0,0 @@
-/* (C) Copyright 2007, by Andrew Zhang */
-
-package org.punit.util;
-
-import org.punit.message.Messages;
-import org.punit.runner.Runner;
-import org.punit.runner.RunnerProperties;
-
-public class RunnerUtil {
-
- private static final int MAX_ARGS = 3;
-
- public static void run(Runner runner, String[] args) {
- int length = args.length;
- if (length == 0 || length > MAX_ARGS) {
- throw new IllegalArgumentException(length
- + Messages.getString("runner.arguments")); //$NON-NLS-1$
- }
- Runner testRunner = runner;
- RunnerProperties properties = runner.properties();
- Class<?> testClass = ReflectionUtil.newClass(args[0]);
- if (length >= 2) {
- testRunner = (Runner) IOUtil.getSerialiableObject(args[1]);
- }
- if (length >= 3) {
- properties = (RunnerProperties) IOUtil
- .getSerialiableObject(args[2]);
- }
- testRunner.run(testClass, properties);
- }
-
-}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|