[P-unit-devel] SF.net SVN: p-unit: [222] trunk/punit
Status: Beta
Brought to you by:
zhanghuangzhu
|
From: <zha...@us...> - 2007-06-24 05:27:23
|
Revision: 222
http://p-unit.svn.sourceforge.net/p-unit/?rev=222&view=rev
Author: zhanghuangzhu
Date: 2007-06-23 22:27:25 -0700 (Sat, 23 Jun 2007)
Log Message:
-----------
Andrew Zhang:
1. TestResult is added as a default listener
2. return value for runner
Modified Paths:
--------------
trunk/punit/src/org/punit/convention/Convention.java
trunk/punit/src/org/punit/convention/NameConvention.java
trunk/punit/src/org/punit/reporter/stream/StreamLogger.java
trunk/punit/src/org/punit/runner/AbstractRunner.java
trunk/punit/src/org/punit/runner/Runner.java
trunk/punit.extension/src/org/punit/convention/AnnotationConvention.java
trunk/punit.extension/src/org/punit/convention/JUnitAnnotationConvention.java
Added Paths:
-----------
trunk/punit/src/org/punit/reporter/TestResult.java
Removed Paths:
-------------
trunk/punit/src/org/punit/reporter/stream/TestResult.java
Modified: trunk/punit/src/org/punit/convention/Convention.java
===================================================================
--- trunk/punit/src/org/punit/convention/Convention.java 2007-06-23 13:07:46 UTC (rev 221)
+++ trunk/punit/src/org/punit/convention/Convention.java 2007-06-24 05:27:25 UTC (rev 222)
@@ -42,7 +42,7 @@
public Method getAfterClassMethod(Class test);
- public int getToStop(Method method);
+ public int getToStop(Object testInstance);
- public int getToAbort(Method method);
+ public int getToAbort(Object testInstance);
}
Modified: trunk/punit/src/org/punit/convention/NameConvention.java
===================================================================
--- trunk/punit/src/org/punit/convention/NameConvention.java 2007-06-23 13:07:46 UTC (rev 221)
+++ trunk/punit/src/org/punit/convention/NameConvention.java 2007-06-24 05:27:25 UTC (rev 222)
@@ -116,12 +116,18 @@
return ReflectionUtil.getMethodAndSetAccessible(test, "tearDown", new Class[] {}); //$NON-NLS-1$
}
- public int getToAbort(Method method) {
- throw new UnsupportedOperationException();
+ public int getToAbort(Object testInstance) {
+ if(testInstance instanceof Loop) {
+ ((Loop) testInstance).toAbort();
+ }
+ return 0;
}
- public int getToStop(Method method) {
- throw new UnsupportedOperationException();
+ public int getToStop(Object testInstance) {
+ if(testInstance instanceof Loop) {
+ ((Loop) testInstance).toStop();
+ }
+ return 0;
}
Added: trunk/punit/src/org/punit/reporter/TestResult.java
===================================================================
--- trunk/punit/src/org/punit/reporter/TestResult.java (rev 0)
+++ trunk/punit/src/org/punit/reporter/TestResult.java 2007-06-24 05:27:25 UTC (rev 222)
@@ -0,0 +1,92 @@
+/* (C) Copyright 2007, by Andrew Zhang */
+package org.punit.reporter;
+
+import java.lang.reflect.*;
+import java.util.*;
+
+import org.punit.events.*;
+import org.punit.runner.*;
+import org.punit.type.*;
+import org.punit.watcher.*;
+
+public class TestResult implements PUnitEventListener {
+
+ private static final long serialVersionUID = -5770657966003459019L;
+
+ private transient int _methodCount;
+
+ private List _failures = new ArrayList();
+
+ public void onMethodEnd(Method method, Object testInstance, Object[] params, Throwable t, List Watchers) {
+ countMethod();
+ if (t != null) {
+ addThrowable(t);
+ }
+ }
+
+ public synchronized void countMethod() {
+ ++_methodCount;
+ }
+
+ public synchronized void addThrowable(Throwable t) {
+ _failures.add(t);
+ }
+
+ public int methodCount() {
+ return _methodCount;
+ }
+
+ public List failures() {
+ return _failures;
+ }
+
+ public void onClassEnd(Class clazz) {
+
+ }
+
+ public void onClassStart(Class clazz) {
+
+ }
+
+
+ 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(PUnitTestSuite suite) {
+
+ }
+
+ public void onSuiteStart(PUnitTestSuite 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-06-23 13:07:46 UTC (rev 221)
+++ trunk/punit/src/org/punit/reporter/stream/StreamLogger.java 2007-06-24 05:27:25 UTC (rev 222)
@@ -9,6 +9,7 @@
import org.punit.events.*;
import org.punit.message.*;
+import org.punit.reporter.*;
import org.punit.runner.*;
import org.punit.type.*;
import org.punit.util.*;
@@ -36,7 +37,7 @@
public void onRunnerStart(Class clazz, Runner runner) {
startTimeWatcher();
- _result = new TestResult();
+ _result = runner.testResult();
StringBuffer sb = new StringBuffer();
sb.append("["); //$NON-NLS-1$
sb.append(runner.punitName());
@@ -108,10 +109,6 @@
public void onMethodEnd(Method method, Object instance, Object[] params,
Throwable t, List watchers) {
logTestMethodResult(method, params, watchers, t);
- _result.countMethod();
- if (t != null) {
- _result.addThrowable(t);
- }
}
private void logTestMethodResult(Method method, Object[] params, List watchers, Throwable t) {
Deleted: trunk/punit/src/org/punit/reporter/stream/TestResult.java
===================================================================
--- trunk/punit/src/org/punit/reporter/stream/TestResult.java 2007-06-23 13:07:46 UTC (rev 221)
+++ trunk/punit/src/org/punit/reporter/stream/TestResult.java 2007-06-24 05:27:25 UTC (rev 222)
@@ -1,27 +0,0 @@
-/* (C) Copyright 2007, by Andrew Zhang */
-
-package org.punit.reporter.stream;
-
-import java.util.*;
-
-public class TestResult {
- private int _methodCount;
-
- private List _failures = new ArrayList();
-
- public synchronized void countMethod() {
- ++_methodCount;
- }
-
- public synchronized void addThrowable(Throwable t) {
- _failures.add(t);
- }
-
- public int methodCount() {
- return _methodCount;
- }
-
- public List failures() {
- return _failures;
- }
-}
Modified: trunk/punit/src/org/punit/runner/AbstractRunner.java
===================================================================
--- trunk/punit/src/org/punit/runner/AbstractRunner.java 2007-06-23 13:07:46 UTC (rev 221)
+++ trunk/punit/src/org/punit/runner/AbstractRunner.java 2007-06-24 05:27:25 UTC (rev 222)
@@ -11,6 +11,7 @@
import org.punit.exception.*;
import org.punit.method.builder.*;
import org.punit.method.runner.*;
+import org.punit.reporter.*;
import org.punit.reporter.stream.console.*;
import org.punit.suite.builder.*;
import org.punit.type.*;
@@ -27,6 +28,8 @@
// List <PUnitEventListener>
private final List _eventListeners = new ArrayList();
+ private TestResult _testResult = new TestResult();
+
private ConsoleLogger _consoleLogger = new ConsoleLogger();
private RunnerProperties _properties = new RunnerProperties();
@@ -42,7 +45,7 @@
_methodRunner = testMethodRunner;
_methodRunner.setEventListeners(_eventListeners);
_methodRunner.setRunnerProperties(_properties);
- registerLoggerListeners();
+ registerDefaultListeners();
setConvention(new NameConvention());
}
@@ -53,14 +56,20 @@
_methodRunner.setConvention(convention);
}
- public void run(Class clazz) {
+ public int run(Class clazz) {
initResultFolder();
onRunnerStart(clazz);
Object[] testClasses = _testSuiteBuiler.buildTestClasses(clazz);
runTestClasses(testClasses);
onRunnerEnd(clazz);
+ return _testResult.failures().size();
}
+ 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; ++i) {
@@ -90,11 +99,6 @@
}
}
- public void run(Class clazz, RunnerProperties properties) {
- setRunnerProperties(properties);
- run(clazz);
- }
-
private void setRunnerProperties(RunnerProperties properties) {
_properties = properties;
_methodRunner.setRunnerProperties(_properties);
@@ -336,7 +340,8 @@
return _testSuiteBuiler;
}
- private void registerLoggerListeners() {
+ private void registerDefaultListeners() {
+ addEventListener(_testResult);
addEventListener(_consoleLogger);
}
@@ -373,4 +378,8 @@
throw new ReflectionException(e);
}
}
+
+ public TestResult testResult() {
+ return _testResult;
+ }
}
Modified: trunk/punit/src/org/punit/runner/Runner.java
===================================================================
--- trunk/punit/src/org/punit/runner/Runner.java 2007-06-23 13:07:46 UTC (rev 221)
+++ trunk/punit/src/org/punit/runner/Runner.java 2007-06-24 05:27:25 UTC (rev 222)
@@ -7,14 +7,15 @@
import org.punit.events.*;
import org.punit.method.builder.*;
import org.punit.method.runner.*;
+import org.punit.reporter.*;
import org.punit.suite.builder.*;
import org.punit.type.*;
public interface Runner extends PUnitEventRegsitry, PUnitName, Serializable, Cloneable {
- public void run(Class clazz);
+ public int run(Class clazz);
- public void run(Class clazz, RunnerProperties properties);
+ public int run(Class clazz, RunnerProperties properties);
public RunnerProperties properties();
@@ -23,5 +24,7 @@
public MethodRunner methodRunner();
public TestSuiteBuilder suiteBuiler();
+
+ public TestResult testResult();
}
Modified: trunk/punit.extension/src/org/punit/convention/AnnotationConvention.java
===================================================================
--- trunk/punit.extension/src/org/punit/convention/AnnotationConvention.java 2007-06-23 13:07:46 UTC (rev 221)
+++ trunk/punit.extension/src/org/punit/convention/AnnotationConvention.java 2007-06-24 05:27:25 UTC (rev 222)
@@ -108,11 +108,11 @@
return method;
}
- public int getToAbort(Method method) {
+ public int getToAbort(Object testInstance) {
throw new UnsupportedOperationException();
}
- public int getToStop(Method method) {
+ public int getToStop(Object testInstance) {
throw new UnsupportedOperationException();
}
}
Modified: trunk/punit.extension/src/org/punit/convention/JUnitAnnotationConvention.java
===================================================================
--- trunk/punit.extension/src/org/punit/convention/JUnitAnnotationConvention.java 2007-06-23 13:07:46 UTC (rev 221)
+++ trunk/punit.extension/src/org/punit/convention/JUnitAnnotationConvention.java 2007-06-24 05:27:25 UTC (rev 222)
@@ -83,11 +83,11 @@
return method;
}
- public int getToAbort(Method method) {
+ public int getToAbort(Object testInstance) {
throw new UnsupportedOperationException();
}
- public int getToStop(Method method) {
+ public int getToStop(Object testInstance) {
throw new UnsupportedOperationException();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|