Author: julien(a)jboss.com
Date: 2007-10-12 10:05:39 -0400 (Fri, 12 Oct 2007)
New Revision: 8615
Added:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/NullTestRunnerContext.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/TestRunnerContextSupport.java
Removed:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/NullTestRunnerContext.java
modules/test/trunk/unit/src/main/org/jboss/unit/tooling/MainTestRunnerContext.java
Modified:
modules/test/trunk/unit/src/main/org/jboss/test/unit/blah/BlahTestTwo.java
modules/test/trunk/unit/src/main/org/jboss/test/unit/blah/BlahTests.java
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/CompositeTestRunnerTests.java
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/GenericTestRunnerTests.java
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/TestDriverRunnerTests.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/AbstractTestRunner.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/TestRunner.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/TestRunnerContext.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/composite/CompositeTestRunner.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/driver/TestDriverRunner.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/event/EventDrivenTestRunner.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/generic/GenericTestRunner.java
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/pojo/POJOTestRunner.java
modules/test/trunk/unit/src/main/org/jboss/unit/tooling/Main.java
modules/test/trunk/unit/src/main/org/jboss/unit/tooling/MainBuilder.java
Log:
moved the test runner listener as part of the test runner contet
Modified: modules/test/trunk/unit/src/main/org/jboss/test/unit/blah/BlahTestTwo.java
===================================================================
--- modules/test/trunk/unit/src/main/org/jboss/test/unit/blah/BlahTestTwo.java 2007-10-12
13:23:21 UTC (rev 8614)
+++ modules/test/trunk/unit/src/main/org/jboss/test/unit/blah/BlahTestTwo.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -28,6 +28,8 @@
import org.jboss.unit.report.impl.writer.PrintListener;
import org.jboss.unit.runner.TestRunner;
import org.jboss.unit.runner.TestRunnerEventListener;
+import org.jboss.unit.runner.event.TestRunnerEventBroadcasterSupport;
+import org.jboss.unit.runner.impl.TestRunnerContextSupport;
import org.jboss.unit.runner.model.ModelBuilder;
import org.jboss.unit.runner.model.TestSuiteDef;
import org.xml.sax.InputSource;
@@ -51,11 +53,13 @@
TestRunnerEventListener junitReporter = new JUnitReporter("output",
BlahTestTwo.class.getName());
// add listeners
- runner.addListener(junitReporter);
- runner.addListener(new PrintListener());
+ TestRunnerEventBroadcasterSupport broadcaster = new
TestRunnerEventBroadcasterSupport();
+ broadcaster.addListener(junitReporter);
+ broadcaster.addListener(new PrintListener());
+
// run the test
- runner.run();
+ runner.run(new TestRunnerContextSupport(broadcaster));
}
}
Modified: modules/test/trunk/unit/src/main/org/jboss/test/unit/blah/BlahTests.java
===================================================================
--- modules/test/trunk/unit/src/main/org/jboss/test/unit/blah/BlahTests.java 2007-10-12
13:23:21 UTC (rev 8614)
+++ modules/test/trunk/unit/src/main/org/jboss/test/unit/blah/BlahTests.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -24,6 +24,9 @@
import org.jboss.unit.report.impl.writer.PrintListener;
import org.jboss.unit.runner.TestRunner;
+import org.jboss.unit.runner.TestRunnerEventBroadcaster;
+import org.jboss.unit.runner.event.TestRunnerEventBroadcasterSupport;
+import org.jboss.unit.runner.impl.TestRunnerContextSupport;
import org.jboss.unit.runner.model.ModelBuilder;
import org.jboss.unit.runner.model.TestSuiteDef;
import org.xml.sax.InputSource;
@@ -47,9 +50,10 @@
TestRunner runner = suite.createRunner();
- runner.addListener(new PrintListener());
+ TestRunnerEventBroadcasterSupport broadcaster = new
TestRunnerEventBroadcasterSupport();
+ broadcaster.addListener(new PrintListener());
- runner.run();
+ runner.run(new TestRunnerContextSupport(broadcaster));
}
Modified:
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/CompositeTestRunnerTests.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/CompositeTestRunnerTests.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/CompositeTestRunnerTests.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -24,11 +24,11 @@
import org.jboss.unit.runner.TestRunner;
import org.jboss.unit.runner.AbstractTestRunner;
-import org.jboss.unit.runner.TestFilter;
import org.jboss.unit.runner.TestRunnerEvent;
-import org.jboss.unit.runner.TestRunnerEventListener;
import org.jboss.unit.runner.TestRunnerContext;
+import org.jboss.unit.runner.TestRunnerEventBroadcaster;
import org.jboss.unit.runner.impl.composite.CompositeTestRunner;
+import org.jboss.unit.runner.impl.TestRunnerContextSupport;
import static org.jboss.unit.api.Assert.*;
import static org.jboss.unit.util.CollectionTools.*;
@@ -46,9 +46,9 @@
private static List<TestRunnerEvent> events = new
ArrayList<TestRunnerEvent>();
- private static TestRunnerEventListener listener = new TestRunnerEventListener()
+ private static TestRunnerEventBroadcaster listener = new TestRunnerEventBroadcaster()
{
- public void onEvent(TestRunnerEvent event)
+ public void fireEvent(TestRunnerEvent event) throws IllegalArgumentException
{
events.add(event);
}
@@ -71,8 +71,7 @@
runners.add(runner1);
runners.add(runner2);
CompositeTestRunner runner = new CompositeTestRunner(runners);
- runner.addListener(listener);
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
assertTrue(runner1.invoked);
assertTrue(runner2.invoked);
assertEquals(4, events.size());
@@ -88,10 +87,9 @@
runners.add(runner1);
runners.add(runner2);
CompositeTestRunner runner = new CompositeTestRunner(runners);
- runner.addListener(listener);
try
{
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
fail();
}
catch (RuntimeException e)
@@ -112,10 +110,9 @@
runners.add(runner1);
runners.add(runner2);
CompositeTestRunner runner = new CompositeTestRunner(runners);
- runner.addListener(listener);
try
{
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
fail();
}
catch (RuntimeException e)
@@ -135,10 +132,9 @@
runners.add(runner1);
runners.add(runner2);
CompositeTestRunner runner = new CompositeTestRunner(runners);
- runner.addListener(listener);
try
{
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
fail();
}
catch (Error e)
@@ -159,10 +155,9 @@
runners.add(runner1);
runners.add(runner2);
CompositeTestRunner runner = new CompositeTestRunner(runners);
- runner.addListener(listener);
try
{
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
fail();
}
catch (Error e)
@@ -185,7 +180,7 @@
protected void internalRun(TestRunnerContext context)
{
invoked = true;
- fireEvent(event);
+ context.getEventBroadcaster().fireEvent(event);
}
}
Modified:
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/GenericTestRunnerTests.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/GenericTestRunnerTests.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/GenericTestRunnerTests.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -23,6 +23,7 @@
package org.jboss.test.unit.runner;
import org.jboss.unit.runner.impl.generic.GenericTestRunner;
+import org.jboss.unit.runner.impl.TestRunnerContextSupport;
import org.jboss.unit.runner.model.generic.GenericTestSuiteDef;
import org.jboss.unit.runner.model.generic.TestDef;
import org.jboss.unit.driver.TestDriver;
@@ -64,7 +65,7 @@
Driver1.init();
GenericTestSuiteDef suite = new GenericTestSuiteDef(Driver1.class.getName());
GenericTestRunner runner = new GenericTestRunner(suite);
- runner.run();
+ runner.run(new TestRunnerContextSupport());
assertEquals(list(), Driver1.ids);
assertEquals(list(), Driver1.parametrizations);
}
@@ -76,7 +77,7 @@
GenericTestSuiteDef suite = new GenericTestSuiteDef(Driver1.class.getName());
suite.addTest(new TestDef(new TestId("foo")));
GenericTestRunner runner = new GenericTestRunner(suite);
- runner.run();
+ runner.run(new TestRunnerContextSupport());
assertEquals(list(new TestId("foo")), Driver1.ids);
assertEquals(list(new HashMap()), Driver1.parametrizations);
}
@@ -89,7 +90,7 @@
GenericTestSuiteDef suite = new GenericTestSuiteDef(Driver1.class.getName());
suite.addTest(new TestDef(new TestId("foo")));
GenericTestRunner runner = new GenericTestRunner(suite);
- runner.run();
+ runner.run(new TestRunnerContextSupport());
assertEquals(list(new TestId("foo")), Driver1.ids);
assertEquals(list(new HashMap()), Driver1.parametrizations);
}
@@ -101,7 +102,7 @@
Driver1.testSuiteInfo.addTest(new SimpleTestCaseInfo("bar"));
GenericTestSuiteDef suite = new GenericTestSuiteDef(Driver1.class.getName());
GenericTestRunner runner = new GenericTestRunner(suite);
- runner.run();
+ runner.run(new TestRunnerContextSupport());
assertEquals(list(new TestId("foo"), new TestId("bar")),
Driver1.ids);
assertEquals(list(new HashMap(), new HashMap()), Driver1.parametrizations);
}
Modified:
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/TestDriverRunnerTests.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/TestDriverRunnerTests.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/test/unit/runner/TestDriverRunnerTests.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -23,10 +23,12 @@
package org.jboss.test.unit.runner;
import org.jboss.unit.runner.impl.driver.TestDriverRunner;
+import org.jboss.unit.runner.impl.TestRunnerContextSupport;
import org.jboss.unit.runner.TestRunnerEventListener;
import org.jboss.unit.runner.TestRunnerEvent;
import org.jboss.unit.runner.TestResult;
import org.jboss.unit.runner.ParametrizationSet;
+import org.jboss.unit.runner.TestRunnerEventBroadcaster;
import org.jboss.unit.runner.results.TestFailure;
import org.jboss.unit.runner.results.TestSuccess;
import org.jboss.unit.runner.event.EndTestEvent;
@@ -100,10 +102,9 @@
//
EventList listener = new EventList();
- runner.addListener(listener);
//
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
//
testDriver.assertIdList(list(new TestId("Foo"), new
TestId("Bar")));
@@ -137,10 +138,9 @@
//
EventList listener = new EventList();
- runner.addListener(listener);
//
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
//
testDriver.assertIdList(list(new TestId("Foo")));
@@ -183,10 +183,9 @@
//
EventList listener = new EventList();
- runner.addListener(listener);
//
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
//
testDriver.assertIdList(list(new TestId("Foo"), new
TestId("Foo")));
@@ -221,10 +220,9 @@
//
EventList listener = new EventList();
- runner.addListener(listener);
//
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
//
testDriver.assertIdList(new ArrayList<TestId>());
@@ -241,10 +239,9 @@
testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
EventList listener = new EventList();
- runner.addListener(listener);
//
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
//
testDriver.assertIdList(list(new TestId("Foo")));
@@ -269,10 +266,9 @@
testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
EventList listener = new EventList();
- runner.addListener(listener);
//
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
//
testDriver.assertIdList(list(new TestId("Foo")));
@@ -297,10 +293,9 @@
testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
EventList listener = new EventList();
- runner.addListener(listener);
//
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
//
testDriver.assertIdList(list(new TestId("Foo")));
@@ -325,10 +320,9 @@
testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
EventList listener = new EventList();
- runner.addListener(listener);
//
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
//
testDriver.assertIdList(list(new TestId("Foo")));
@@ -356,12 +350,11 @@
testDriver.info.addTest(new SimpleTestCaseInfo("Foo"));
TestDriverRunner runner = new TestDriverRunner(testDriver, new TestId());
EventList listener = new EventList();
- runner.addListener(listener);
//
try
{
- runner.run();
+ runner.run(new TestRunnerContextSupport(listener));
}
catch (Error e)
{
@@ -445,13 +438,13 @@
assertInstanceOf(event, EndRunnerEvent.class);
}
- private static class EventList implements TestRunnerEventListener
+ private static class EventList implements TestRunnerEventBroadcaster
{
/** . */
private final List<TestRunnerEvent> events = new
ArrayList<TestRunnerEvent>();
- public void onEvent(TestRunnerEvent event)
+ public void fireEvent(TestRunnerEvent event) throws IllegalArgumentException
{
events.add(event);
}
Modified: modules/test/trunk/unit/src/main/org/jboss/unit/runner/AbstractTestRunner.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/AbstractTestRunner.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/AbstractTestRunner.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -25,6 +25,7 @@
import org.jboss.unit.runner.event.TestRunnerEventBroadcasterSupport;
import org.jboss.unit.runner.event.EndRunnerEvent;
import org.jboss.unit.runner.event.StartRunnerEvent;
+import org.jboss.unit.runner.impl.NullTestRunnerContext;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -33,44 +34,16 @@
public abstract class AbstractTestRunner implements TestRunner
{
- /** . */
- protected final TestRunnerEventBroadcasterSupport broadcaster;
-
protected AbstractTestRunner()
{
- this(new TestRunnerEventBroadcasterSupport());
}
- protected AbstractTestRunner(TestRunnerEventBroadcasterSupport broadcaster)
- {
- this.broadcaster = broadcaster;
- }
-
- public void addListener(TestRunnerEventListener listener)
- {
- broadcaster.addListener(listener);
- }
-
- public void removeListener(TestRunnerEventListener listener)
- {
- broadcaster.removeListener(listener);
- }
-
- protected final void fireEvent(TestRunnerEvent event)
- {
- broadcaster.fireEvent(event);
- }
-
- public final void run()
- {
- run(NullTestRunnerContext.getInstance());
- }
-
public final void run(TestRunnerContext context)
{
- fireEvent(new StartRunnerEvent());
+ TestRunnerEventBroadcaster broadcaster = context.getEventBroadcaster();
+ broadcaster.fireEvent(new StartRunnerEvent());
internalRun(context);
- fireEvent(new EndRunnerEvent());
+ broadcaster.fireEvent(new EndRunnerEvent());
}
protected abstract void internalRun(TestRunnerContext context);
Deleted:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/NullTestRunnerContext.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/NullTestRunnerContext.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/NullTestRunnerContext.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -1,54 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software 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 *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.unit.runner;
-
-import org.jboss.unit.runner.filter.NullFilter;
-
-import java.util.Map;
-import java.util.Collections;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class NullTestRunnerContext implements TestRunnerContext
-{
-
- /** . */
- private static final NullTestRunnerContext instance = new NullTestRunnerContext();
-
- public static NullTestRunnerContext getInstance()
- {
- return instance;
- }
-
- public Map<String, String> getProperties()
- {
- return Collections.emptyMap();
- }
-
- public TestFilter getFilter()
- {
- return NullFilter.getInstance();
- }
-}
Modified: modules/test/trunk/unit/src/main/org/jboss/unit/runner/TestRunner.java
===================================================================
--- modules/test/trunk/unit/src/main/org/jboss/unit/runner/TestRunner.java 2007-10-12
13:23:21 UTC (rev 8614)
+++ modules/test/trunk/unit/src/main/org/jboss/unit/runner/TestRunner.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -31,12 +31,6 @@
public interface TestRunner
{
- void addListener(TestRunnerEventListener listener);
-
- void removeListener(TestRunnerEventListener listener);
-
- void run();
-
void run(TestRunnerContext context);
}
Modified: modules/test/trunk/unit/src/main/org/jboss/unit/runner/TestRunnerContext.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/TestRunnerContext.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/TestRunnerContext.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -35,4 +35,6 @@
TestFilter getFilter();
+ TestRunnerEventBroadcaster getEventBroadcaster();
+
}
Copied:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/NullTestRunnerContext.java
(from rev 8613,
modules/test/trunk/unit/src/main/org/jboss/unit/runner/NullTestRunnerContext.java)
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/NullTestRunnerContext.java
(rev 0)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/NullTestRunnerContext.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software 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 *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.unit.runner.impl;
+
+import org.jboss.unit.runner.filter.NullFilter;
+import org.jboss.unit.runner.TestRunnerContext;
+import org.jboss.unit.runner.TestFilter;
+import org.jboss.unit.runner.TestRunnerEventBroadcaster;
+
+import java.util.Map;
+import java.util.Collections;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class NullTestRunnerContext implements TestRunnerContext
+{
+
+ /** . */
+ private static final NullTestRunnerContext instance = new NullTestRunnerContext();
+
+ public static NullTestRunnerContext getInstance()
+ {
+ return instance;
+ }
+
+ public Map<String, String> getProperties()
+ {
+ return Collections.emptyMap();
+ }
+
+ public TestFilter getFilter()
+ {
+ return NullFilter.getInstance();
+ }
+
+ public TestRunnerEventBroadcaster getEventBroadcaster()
+ {
+ return null;
+ }
+}
Added:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/TestRunnerContextSupport.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/TestRunnerContextSupport.java
(rev 0)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/TestRunnerContextSupport.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -0,0 +1,82 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software 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 *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.unit.runner.impl;
+
+import org.jboss.unit.runner.TestRunnerContext;
+import org.jboss.unit.runner.TestFilter;
+import org.jboss.unit.runner.TestRunnerEventBroadcaster;
+import org.jboss.unit.runner.event.TestRunnerEventBroadcasterSupport;
+import org.jboss.unit.runner.filter.NullFilter;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class TestRunnerContextSupport implements TestRunnerContext
+{
+
+ /** . */
+ private Map<String,String> properties;
+
+ /** . */
+ private TestFilter filter;
+
+ /** . */
+ private TestRunnerEventBroadcaster eventBroadcaster;
+
+
+ public TestRunnerContextSupport(TestRunnerEventBroadcaster eventBroadcaster)
+ {
+ this(new HashMap<String, String>(), NullFilter.getInstance(),
eventBroadcaster);
+ }
+
+ public TestRunnerContextSupport()
+ {
+ this(new HashMap<String, String>(), NullFilter.getInstance(), new
TestRunnerEventBroadcasterSupport());
+ }
+
+ public TestRunnerContextSupport(Map<String, String> properties, TestFilter
filter, TestRunnerEventBroadcaster eventBroadcaster)
+ {
+ this.properties = properties;
+ this.filter = filter;
+ this.eventBroadcaster = eventBroadcaster;
+ }
+
+ public Map<String, String> getProperties()
+ {
+ return properties;
+ }
+
+ public TestFilter getFilter()
+ {
+ return filter;
+ }
+
+ public TestRunnerEventBroadcaster getEventBroadcaster()
+ {
+ return eventBroadcaster;
+ }
+}
Modified:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/composite/CompositeTestRunner.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/composite/CompositeTestRunner.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/composite/CompositeTestRunner.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -24,9 +24,10 @@
import org.jboss.unit.runner.AbstractTestRunner;
import org.jboss.unit.runner.TestRunner;
-import org.jboss.unit.runner.TestFilter;
import org.jboss.unit.runner.TestRunnerContext;
+import org.jboss.unit.runner.impl.TestRunnerContextSupport;
import org.jboss.unit.runner.event.TestRunnerLifeCycleFilter;
+import org.jboss.unit.runner.event.TestRunnerEventBroadcasterSupport;
import java.util.Collection;
@@ -44,30 +45,21 @@
/** . */
private final Collection<TestRunner> runners;
- /** . */
- private final TestRunnerLifeCycleFilter lifeCycleFilter;
-
public CompositeTestRunner(Collection<TestRunner> runners)
{
this.runners = runners;
- this.lifeCycleFilter = new TestRunnerLifeCycleFilter(broadcaster);
}
protected void internalRun(TestRunnerContext context)
{
+ // Setup intermediate event filtering
+ TestRunnerEventBroadcasterSupport tmp = new TestRunnerEventBroadcasterSupport();
+ tmp.addListener(new TestRunnerLifeCycleFilter(context.getEventBroadcaster()));
+ TestRunnerContextSupport nestedContext = new
TestRunnerContextSupport(context.getProperties(), context.getFilter(), tmp);
+
for (TestRunner runner : runners)
{
- try
- {
- runner.addListener(lifeCycleFilter);
-
- //
- runner.run(context);
- }
- finally
- {
- runner.removeListener(lifeCycleFilter);
- }
+ runner.run(nestedContext);
}
}
}
Modified:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/driver/TestDriverRunner.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/driver/TestDriverRunner.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/driver/TestDriverRunner.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -103,7 +103,7 @@
{
if (testId == null)
{
- fireEvent(new RunnerFailureEvent(Failure.createErrorFailure("No test id
specified")));
+ context.getEventBroadcaster().fireEvent(new
RunnerFailureEvent(Failure.createErrorFailure("No test id specified")));
}
else
{
@@ -114,7 +114,7 @@
}
catch (Exception e)
{
- fireEvent(new RunnerFailureEvent(Failure.createErrorFailure("Was not
able to start the test driver properly", e)));
+ context.getEventBroadcaster().fireEvent(new
RunnerFailureEvent(Failure.createErrorFailure("Was not able to start the test driver
properly", e)));
return;
}
@@ -163,7 +163,7 @@
TestCaseInfo testCaseInfo = (TestCaseInfo)testInfo;
for (Map<String,String> parametrization :
parametrizationSet.enumerate(testCaseInfo.getParameters().keySet()))
{
- fireEvent(new StartTestEvent(testId, testCaseInfo));
+ context.getEventBroadcaster().fireEvent(new StartTestEvent(testId,
testCaseInfo));
//
StartTestCommand command = new StartTestCommand(parametrization);
@@ -200,7 +200,7 @@
}
//
- fireEvent(new EndTestEvent(testId, result));
+ context.getEventBroadcaster().fireEvent(new EndTestEvent(testId,
result));
}
}
}
Modified:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/event/EventDrivenTestRunner.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/event/EventDrivenTestRunner.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/event/EventDrivenTestRunner.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -54,7 +54,7 @@
{
for (TestRunnerEvent event : events)
{
- fireEvent(event);
+ context.getEventBroadcaster().fireEvent(event);
}
}
}
Modified:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/generic/GenericTestRunner.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/generic/GenericTestRunner.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/generic/GenericTestRunner.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -27,7 +27,9 @@
import org.jboss.unit.runner.TestRunnerContext;
import org.jboss.unit.runner.event.TestRunnerLifeCycleFilter;
import org.jboss.unit.runner.event.RunnerFailureEvent;
+import org.jboss.unit.runner.event.TestRunnerEventBroadcasterSupport;
import org.jboss.unit.runner.impl.driver.TestDriverRunner;
+import org.jboss.unit.runner.impl.TestRunnerContextSupport;
import org.jboss.unit.runner.model.generic.GenericTestSuiteDef;
import org.jboss.unit.runner.model.generic.TestDef;
import org.jboss.unit.driver.TestDriver;
@@ -47,19 +49,20 @@
/** . */
private final GenericTestSuiteDef def;
- /** . */
- private final TestRunnerLifeCycleFilter lifeCycleFilter;
-
public GenericTestRunner(GenericTestSuiteDef def)
{
this.def = def;
- this.lifeCycleFilter = new TestRunnerLifeCycleFilter(broadcaster);
}
protected void internalRun(TestRunnerContext context)
{
String className = def.getClassName();
+ // Setup intermediate event filtering
+ TestRunnerEventBroadcasterSupport tmp = new TestRunnerEventBroadcasterSupport();
+ tmp.addListener(new TestRunnerLifeCycleFilter(context.getEventBroadcaster()));
+ TestRunnerContextSupport nestedContext = new
TestRunnerContextSupport(context.getProperties(), context.getFilter(), tmp);
+
//
try
{
@@ -83,13 +86,14 @@
//
TestDriverRunner runner = new TestDriverRunner(driver, parametrizations,
testDef.getRefId());
- runner.addListener(lifeCycleFilter);
- runner.run(context);
+
+ //
+ runner.run(nestedContext);
}
}
catch (Exception e)
{
- fireEvent(new RunnerFailureEvent(Failure.createErrorFailure("Cannot execute
test class " + className,e)));
+ nestedContext.getEventBroadcaster().fireEvent(new
RunnerFailureEvent(Failure.createErrorFailure("Cannot execute test class " +
className,e)));
}
}
}
Modified:
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/pojo/POJOTestRunner.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/pojo/POJOTestRunner.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/runner/impl/pojo/POJOTestRunner.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -26,8 +26,10 @@
import org.jboss.unit.runner.ParametrizationSet;
import org.jboss.unit.runner.TestRunnerContext;
import org.jboss.unit.runner.impl.driver.TestDriverRunner;
+import org.jboss.unit.runner.impl.TestRunnerContextSupport;
import org.jboss.unit.runner.event.RunnerFailureEvent;
import org.jboss.unit.runner.event.TestRunnerLifeCycleFilter;
+import org.jboss.unit.runner.event.TestRunnerEventBroadcasterSupport;
import org.jboss.unit.runner.model.pojo.POJOTestSuiteDef;
import org.jboss.unit.runner.model.pojo.TestClassDef;
import org.jboss.unit.runner.model.pojo.TestCaseDef;
@@ -50,17 +52,19 @@
/** . */
private final POJOTestSuiteDef suite;
- /** . */
- private final TestRunnerLifeCycleFilter lifeCycleFilter;
-
public POJOTestRunner(POJOTestSuiteDef suiteDef)
{
this.suite = suiteDef;
- this.lifeCycleFilter = new TestRunnerLifeCycleFilter(broadcaster);
}
protected void internalRun(TestRunnerContext context)
{
+ // Setup intermediate event filtering
+ TestRunnerEventBroadcasterSupport tmp = new TestRunnerEventBroadcasterSupport();
+ tmp.addListener(new TestRunnerLifeCycleFilter(context.getEventBroadcaster()));
+ TestRunnerContextSupport nestedContext = new
TestRunnerContextSupport(context.getProperties(), context.getFilter(), tmp);
+
+ //
for (TestClassDef testClass : suite.getTestClasses())
{
String className = testClass.getName();
@@ -97,13 +101,12 @@
{
TestId testCaseId = new TestId(testCaseName);
runner.setTestId(testCaseId);
- runner.addListener(lifeCycleFilter);
- runner.run(context);
+ runner.run(nestedContext);
}
}
catch (Exception e)
{
- fireEvent(new RunnerFailureEvent(Failure.createErrorFailure("Cannot
execute test class " + className,e)));
+ nestedContext.getEventBroadcaster().fireEvent(new
RunnerFailureEvent(Failure.createErrorFailure("Cannot execute test class " +
className,e)));
}
}
}
Modified: modules/test/trunk/unit/src/main/org/jboss/unit/tooling/Main.java
===================================================================
--- modules/test/trunk/unit/src/main/org/jboss/unit/tooling/Main.java 2007-10-12 13:23:21
UTC (rev 8614)
+++ modules/test/trunk/unit/src/main/org/jboss/unit/tooling/Main.java 2007-10-12 14:05:39
UTC (rev 8615)
@@ -22,8 +22,9 @@
package org.jboss.unit.tooling;
-import org.jboss.unit.runner.TestRunnerEventListener;
import org.jboss.unit.runner.TestRunner;
+import org.jboss.unit.runner.impl.TestRunnerContextSupport;
+import org.jboss.unit.runner.event.TestRunnerEventBroadcasterSupport;
import org.jboss.unit.runner.model.TestSuiteDef;
import org.jboss.unit.tooling.filter.MainTestFilter;
@@ -42,14 +43,14 @@
private final MainTestFilter mainFilter;
- private final Set<TestRunnerEventListener> listeners;
-
private final TestRunner runner;
private final TestSuiteDef suiteDef;
private final Map<String,String> properties;
+ private final TestRunnerEventBroadcasterSupport broadcaster;
+
// public static final String JBOSS_UNIT_NAMES = "jboss.unit.names";
//
// public static final String JBOSS_UNIT_KEYWORDS = "jboss.unit.keywords";
@@ -121,17 +122,8 @@
options_no_arg = Collections.unmodifiableSet(opts);
}
- private Main()
+ public Main(TestRunner runner, MainTestFilter mainFilter,
TestRunnerEventBroadcasterSupport broadcaster, TestSuiteDef suiteDef,
Map<String,String> properties)
{
- mainFilter = null;
- listeners = null;
- runner = null;
- suiteDef = null;
- properties = null;
- }
-
- public Main(TestRunner runner, MainTestFilter mainFilter,
Set<TestRunnerEventListener> listeners, TestSuiteDef suiteDef,
Map<String,String> properties)
- {
if (runner == null)
{
throw new IllegalArgumentException("runner cannot be null");
@@ -142,9 +134,9 @@
throw new IllegalArgumentException("mainFilter cannot be null");
}
- if (listeners == null)
+ if (broadcaster == null)
{
- throw new IllegalArgumentException("listeners cannot be null");
+ throw new IllegalArgumentException("broadcaster cannot be null");
}
if (suiteDef == null)
@@ -158,15 +150,15 @@
}
this.mainFilter = mainFilter;
- this.listeners = listeners;
this.runner = runner;
this.suiteDef = suiteDef;
this.properties = properties;
+ this.broadcaster = broadcaster;
}
public void execute()
{
- MainTestRunnerContext runnerContext = new MainTestRunnerContext(properties,
mainFilter);
+ TestRunnerContextSupport runnerContext = new TestRunnerContextSupport(properties,
mainFilter, broadcaster);
runner.run(runnerContext);
}
Modified: modules/test/trunk/unit/src/main/org/jboss/unit/tooling/MainBuilder.java
===================================================================
--- modules/test/trunk/unit/src/main/org/jboss/unit/tooling/MainBuilder.java 2007-10-12
13:23:21 UTC (rev 8614)
+++ modules/test/trunk/unit/src/main/org/jboss/unit/tooling/MainBuilder.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -24,6 +24,7 @@
import org.jboss.unit.runner.TestRunnerEventListener;
import org.jboss.unit.runner.TestRunner;
+import org.jboss.unit.runner.event.TestRunnerEventBroadcasterSupport;
import org.jboss.unit.runner.filter.NullFilter;
import org.jboss.unit.runner.model.ModelBuilder;
import org.jboss.unit.runner.model.TestSuiteDef;
@@ -340,12 +341,13 @@
ModelBuilder builder = new ModelBuilder(source);
TestSuiteDef suite = builder.build();
TestRunner runner = suite.createRunner();
+ TestRunnerEventBroadcasterSupport broadcaster = new
TestRunnerEventBroadcasterSupport();
// Add listeners
for (TestRunnerEventListener listener : listeners)
{
- runner.addListener(listener);
+ broadcaster.addListener(listener);
}
//add PrintListener by default
@@ -371,7 +373,7 @@
reporter.setXmlReporter(xmlReporter);
}
- runner.addListener(reporter);
+ broadcaster.addListener(reporter);
@@ -397,7 +399,7 @@
}
- return new Main(runner, filter, listeners, suite, properties);
+ return new Main(runner, filter, broadcaster, suite, properties);
}
public static void checkCreateOutputDirectory(String dir) throws Exception
Deleted:
modules/test/trunk/unit/src/main/org/jboss/unit/tooling/MainTestRunnerContext.java
===================================================================
---
modules/test/trunk/unit/src/main/org/jboss/unit/tooling/MainTestRunnerContext.java 2007-10-12
13:23:21 UTC (rev 8614)
+++
modules/test/trunk/unit/src/main/org/jboss/unit/tooling/MainTestRunnerContext.java 2007-10-12
14:05:39 UTC (rev 8615)
@@ -1,58 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software 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 *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.unit.tooling;
-
-import org.jboss.unit.runner.TestRunnerContext;
-import org.jboss.unit.runner.TestFilter;
-
-import java.util.Map;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class MainTestRunnerContext implements TestRunnerContext
-{
-
- /** . */
- private Map<String,String> properties;
-
- /** . */
- private TestFilter filter;
-
- public MainTestRunnerContext(Map<String, String> properties, TestFilter filter)
- {
- this.properties = properties;
- this.filter = filter;
- }
-
- public Map<String, String> getProperties()
- {
- return properties;
- }
-
- public TestFilter getFilter()
- {
- return filter;
- }
-}