You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ma...@apache.org on 2012/03/04 22:33:55 UTC
svn commit: r1296883 - in /commons/sandbox/graph/trunk: ./
src/test/java/org/apache/commons/graph/model/
src/test/java/org/apache/commons/graph/utils/
Author: marcosperanza
Date: Sun Mar 4 21:33:54 2012
New Revision: 1296883
URL: http://svn.apache.org/viewvc?rev=1296883&view=rev
Log:
Removed unneeded GroboUtil dependency
Added:
commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java (with props)
commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java (with props)
Modified:
commons/sandbox/graph/trunk/pom.xml
commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java
Modified: commons/sandbox/graph/trunk/pom.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/pom.xml?rev=1296883&r1=1296882&r2=1296883&view=diff
==============================================================================
--- commons/sandbox/graph/trunk/pom.xml (original)
+++ commons/sandbox/graph/trunk/pom.xml Sun Mar 4 21:33:54 2012
@@ -113,28 +113,15 @@
<commons.componentid>graph</commons.componentid>
<commons.jira.componentid>12314503</commons.jira.componentid>
</properties>
-
- <repositories>
- <repository>
- <id>opensymphony-releases</id>
- <name>Opensymphony Releases</name>
- <url>https://oss.sonatype.org/content/repositories/opensymphony-releases</url>
- </repository>
- </repositories>
-
+
<dependencies>
<dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.10</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.groboutils</groupId>
- <artifactId>groboutils-core</artifactId>
- <version>5</version>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.10</version>
+ <scope>test</scope>
</dependency>
-</dependencies>
+ </dependencies>
<build>
<resources>
Modified: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java?rev=1296883&r1=1296882&r2=1296883&view=diff
==============================================================================
--- commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java (original)
+++ commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java Sun Mar 4 21:33:54 2012
@@ -30,12 +30,11 @@ import static org.junit.Assert.fail;
import java.util.ArrayList;
import java.util.List;
-import net.sourceforge.groboutils.junit.v1.MultiThreadedTestRunner;
-import net.sourceforge.groboutils.junit.v1.TestRunnable;
-
import org.apache.commons.graph.CommonsGraph;
import org.apache.commons.graph.GraphException;
import org.apache.commons.graph.MutableGraph;
+import org.apache.commons.graph.utils.MultiThreadedTestRunner;
+import org.apache.commons.graph.utils.TestRunner;
import org.junit.Test;
/**
@@ -292,14 +291,13 @@ public class BaseMutableGraphTestCase
BaseLabeledEdge e = g.getEdge( source, target );
g.removeEdge( e );
-
+
BaseLabeledEdge edge = g.getEdge( source, target );
- assertNull( edge );
+ assertNull( edge );
}
-
+
/**
- * Test method for
- * {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
+ * Test method for {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
*/
@Test
public final void testUndirectedGraphRemoveEdge()
@@ -320,10 +318,9 @@ public class BaseMutableGraphTestCase
assertNull( edge );
}
-
+
/**
- * Test method for
- * {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
+ * Test method for {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
*/
@Test( expected = GraphException.class )
public final void testUndirectedGraphRemoveEdgeNotExists()
@@ -346,10 +343,9 @@ public class BaseMutableGraphTestCase
g.removeEdge( e );
}
-
+
/**
- * Test method for
- * {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
+ * Test method for {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
*/
@Test( expected = GraphException.class )
public final void testDirectedGraphRemoveEdgeNotExists()
@@ -372,27 +368,26 @@ public class BaseMutableGraphTestCase
g.removeEdge( e );
}
-
+
/**
- * Test Graph model ina multi-thread enviroment.
+ * Test Graph model ina multi-thread enviroment.
*/
@Test
- public final void testMultiTh()
+ public final void testMultiThreadUndirectGraph()
throws Throwable
{
final MutableGraph<BaseLabeledVertex, BaseLabeledEdge> g =
(MutableGraph<BaseLabeledVertex, BaseLabeledEdge>) CommonsGraph.synchronize( (MutableGraph<BaseLabeledVertex, BaseLabeledEdge>) new UndirectedMutableGraph<BaseLabeledVertex, BaseLabeledEdge>() );
- TestRunnable tr1, tr2, tr3;
+ TestRunner tr1, tr2, tr3;
tr1 = new GraphInsert( g, 0, 10 );
tr2 = new GraphInsert( g, 10, 20 );
tr3 = new GraphInsert( g, 20, 30 );
- TestRunnable[] trs = { tr1, tr2, tr3 };
+ TestRunner[] trs = { tr1, tr2, tr3 };
MultiThreadedTestRunner mttr = new MultiThreadedTestRunner( trs );
- // kickstarts the MTTR & fires off threads
- mttr.runTestRunnables();
+ mttr.runRunnables();
assertEquals( 30, g.getOrder() );
@@ -410,16 +405,14 @@ public class BaseMutableGraphTestCase
final MutableGraph<BaseLabeledVertex, BaseLabeledEdge> g =
(MutableGraph<BaseLabeledVertex, BaseLabeledEdge>) CommonsGraph.synchronize( (MutableGraph<BaseLabeledVertex, BaseLabeledEdge>) new DirectedMutableGraph<BaseLabeledVertex, BaseLabeledEdge>() );
- TestRunnable tr1, tr2, tr3;
+ TestRunner tr1, tr2, tr3;
tr1 = new GraphInsert( g, 0, 10 );
tr2 = new GraphInsert( g, 10, 20 );
tr3 = new GraphInsert( g, 20, 30 );
- TestRunnable[] trs = { tr1, tr2, tr3 };
+ TestRunner[] trs = { tr1, tr2, tr3 };
MultiThreadedTestRunner mttr = new MultiThreadedTestRunner( trs );
-
- // kickstarts the MTTR & fires off threads
- mttr.runTestRunnables();
+ mttr.runRunnables();
assertEquals( 30, g.getOrder() );
@@ -427,8 +420,9 @@ public class BaseMutableGraphTestCase
assertEquals( ( 30 * ( 30 - 1 ) ), g.getSize() );
}
+ // Utility class.
private class GraphInsert
- extends TestRunnable
+ extends TestRunner
{
private MutableGraph<BaseLabeledVertex, BaseLabeledEdge> g;
@@ -444,8 +438,8 @@ public class BaseMutableGraphTestCase
this.end = end;
}
+ @Override
public void runTest()
- throws Throwable
{
// building a complete Graph
@@ -478,5 +472,4 @@ public class BaseMutableGraphTestCase
}
}
}
-
}
Added: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java?rev=1296883&view=auto
==============================================================================
--- commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java (added)
+++ commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java Sun Mar 4 21:33:54 2012
@@ -0,0 +1,72 @@
+package org.apache.commons.graph.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Simple utility class.
+ * It is used for executing multi-thread test case.
+ */
+public class MultiThreadedTestRunner
+{
+ final private List<Thread> th;
+ long maxWait = 60L * 60L * 1000;
+ final private List<Throwable> exeptions;
+
+
+ public MultiThreadedTestRunner( TestRunner[] runnables )
+ {
+ th = new ArrayList<Thread>();
+ exeptions = new ArrayList<Throwable>();
+ for ( int i = 0; i < runnables.length; i++ )
+ {
+ runnables[i].setTestRunner( this );
+ th.add( new Thread( runnables[i] ) );
+ }
+ }
+
+ public void runRunnables() throws Throwable
+ {
+ for ( Thread t : th )
+ {
+ t.start();
+ }
+
+ for ( Thread t : th )
+ {
+ t.join( maxWait );
+ }
+
+ if ( this.exeptions.size() > 0 )
+ {
+ throw this.exeptions.get( 0 );
+ }
+ }
+
+ /**
+ * @param e
+ */
+ public void addException( Throwable e )
+ {
+ exeptions.add( e );
+ }
+}
Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java
URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java?rev=1296883&view=auto
==============================================================================
--- commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java (added)
+++ commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java Sun Mar 4 21:33:54 2012
@@ -0,0 +1,49 @@
+package org.apache.commons.graph.utils;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Abstract class. It's a generic multi-thread test case
+ *
+ */
+abstract public class TestRunner
+ implements Runnable
+{
+ private MultiThreadedTestRunner runner;
+
+ abstract public void runTest();
+
+ public void setTestRunner( MultiThreadedTestRunner runner )
+ {
+ this.runner = runner;
+ }
+
+ public void run()
+ {
+ try
+ {
+ runTest();
+ }
+ catch ( Throwable e )
+ {
+ runner.addException( e );
+ }
+ }
+}
Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Re: svn commit: r1296883 - in /commons/sandbox/graph/trunk: ./
src/test/java/org/apache/commons/graph/model/ src/test/java/org/apache/commons/graph/utils/
Posted by Simone Tripodi <si...@apache.org>.
NICE!
-Simo
http://people.apache.org/~simonetripodi/
http://simonetripodi.livejournal.com/
http://twitter.com/simonetripodi
http://www.99soft.org/
On Sun, Mar 4, 2012 at 10:33 PM, <ma...@apache.org> wrote:
> Author: marcosperanza
> Date: Sun Mar 4 21:33:54 2012
> New Revision: 1296883
>
> URL: http://svn.apache.org/viewvc?rev=1296883&view=rev
> Log:
> Removed unneeded GroboUtil dependency
>
> Added:
> commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java (with props)
> commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java (with props)
> Modified:
> commons/sandbox/graph/trunk/pom.xml
> commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java
>
> Modified: commons/sandbox/graph/trunk/pom.xml
> URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/pom.xml?rev=1296883&r1=1296882&r2=1296883&view=diff
> ==============================================================================
> --- commons/sandbox/graph/trunk/pom.xml (original)
> +++ commons/sandbox/graph/trunk/pom.xml Sun Mar 4 21:33:54 2012
> @@ -113,28 +113,15 @@
> <commons.componentid>graph</commons.componentid>
> <commons.jira.componentid>12314503</commons.jira.componentid>
> </properties>
> -
> - <repositories>
> - <repository>
> - <id>opensymphony-releases</id>
> - <name>Opensymphony Releases</name>
> - <url>https://oss.sonatype.org/content/repositories/opensymphony-releases</url>
> - </repository>
> - </repositories>
> -
> +
> <dependencies>
> <dependency>
> - <groupId>junit</groupId>
> - <artifactId>junit</artifactId>
> - <version>4.10</version>
> - <scope>test</scope>
> - </dependency>
> - <dependency>
> - <groupId>net.sourceforge.groboutils</groupId>
> - <artifactId>groboutils-core</artifactId>
> - <version>5</version>
> + <groupId>junit</groupId>
> + <artifactId>junit</artifactId>
> + <version>4.10</version>
> + <scope>test</scope>
> </dependency>
> -</dependencies>
> + </dependencies>
>
> <build>
> <resources>
>
> Modified: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java
> URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java?rev=1296883&r1=1296882&r2=1296883&view=diff
> ==============================================================================
> --- commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java (original)
> +++ commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/model/BaseMutableGraphTestCase.java Sun Mar 4 21:33:54 2012
> @@ -30,12 +30,11 @@ import static org.junit.Assert.fail;
> import java.util.ArrayList;
> import java.util.List;
>
> -import net.sourceforge.groboutils.junit.v1.MultiThreadedTestRunner;
> -import net.sourceforge.groboutils.junit.v1.TestRunnable;
> -
> import org.apache.commons.graph.CommonsGraph;
> import org.apache.commons.graph.GraphException;
> import org.apache.commons.graph.MutableGraph;
> +import org.apache.commons.graph.utils.MultiThreadedTestRunner;
> +import org.apache.commons.graph.utils.TestRunner;
> import org.junit.Test;
>
> /**
> @@ -292,14 +291,13 @@ public class BaseMutableGraphTestCase
>
> BaseLabeledEdge e = g.getEdge( source, target );
> g.removeEdge( e );
> -
> +
> BaseLabeledEdge edge = g.getEdge( source, target );
> - assertNull( edge );
> + assertNull( edge );
> }
> -
> +
> /**
> - * Test method for
> - * {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
> + * Test method for {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
> */
> @Test
> public final void testUndirectedGraphRemoveEdge()
> @@ -320,10 +318,9 @@ public class BaseMutableGraphTestCase
>
> assertNull( edge );
> }
> -
> +
> /**
> - * Test method for
> - * {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
> + * Test method for {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
> */
> @Test( expected = GraphException.class )
> public final void testUndirectedGraphRemoveEdgeNotExists()
> @@ -346,10 +343,9 @@ public class BaseMutableGraphTestCase
> g.removeEdge( e );
>
> }
> -
> +
> /**
> - * Test method for
> - * {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
> + * Test method for {@link org.apache.commons.graph.model.BaseMutableGraph#removeEdge(org.apache.commons.graph.Edge)}
> */
> @Test( expected = GraphException.class )
> public final void testDirectedGraphRemoveEdgeNotExists()
> @@ -372,27 +368,26 @@ public class BaseMutableGraphTestCase
> g.removeEdge( e );
>
> }
> -
> +
> /**
> - * Test Graph model ina multi-thread enviroment.
> + * Test Graph model ina multi-thread enviroment.
> */
> @Test
> - public final void testMultiTh()
> + public final void testMultiThreadUndirectGraph()
> throws Throwable
> {
> final MutableGraph<BaseLabeledVertex, BaseLabeledEdge> g =
> (MutableGraph<BaseLabeledVertex, BaseLabeledEdge>) CommonsGraph.synchronize( (MutableGraph<BaseLabeledVertex, BaseLabeledEdge>) new UndirectedMutableGraph<BaseLabeledVertex, BaseLabeledEdge>() );
>
> - TestRunnable tr1, tr2, tr3;
> + TestRunner tr1, tr2, tr3;
> tr1 = new GraphInsert( g, 0, 10 );
> tr2 = new GraphInsert( g, 10, 20 );
> tr3 = new GraphInsert( g, 20, 30 );
>
> - TestRunnable[] trs = { tr1, tr2, tr3 };
> + TestRunner[] trs = { tr1, tr2, tr3 };
> MultiThreadedTestRunner mttr = new MultiThreadedTestRunner( trs );
>
> - // kickstarts the MTTR & fires off threads
> - mttr.runTestRunnables();
> + mttr.runRunnables();
>
> assertEquals( 30, g.getOrder() );
>
> @@ -410,16 +405,14 @@ public class BaseMutableGraphTestCase
> final MutableGraph<BaseLabeledVertex, BaseLabeledEdge> g =
> (MutableGraph<BaseLabeledVertex, BaseLabeledEdge>) CommonsGraph.synchronize( (MutableGraph<BaseLabeledVertex, BaseLabeledEdge>) new DirectedMutableGraph<BaseLabeledVertex, BaseLabeledEdge>() );
>
> - TestRunnable tr1, tr2, tr3;
> + TestRunner tr1, tr2, tr3;
> tr1 = new GraphInsert( g, 0, 10 );
> tr2 = new GraphInsert( g, 10, 20 );
> tr3 = new GraphInsert( g, 20, 30 );
>
> - TestRunnable[] trs = { tr1, tr2, tr3 };
> + TestRunner[] trs = { tr1, tr2, tr3 };
> MultiThreadedTestRunner mttr = new MultiThreadedTestRunner( trs );
> -
> - // kickstarts the MTTR & fires off threads
> - mttr.runTestRunnables();
> + mttr.runRunnables();
>
> assertEquals( 30, g.getOrder() );
>
> @@ -427,8 +420,9 @@ public class BaseMutableGraphTestCase
> assertEquals( ( 30 * ( 30 - 1 ) ), g.getSize() );
> }
>
> + // Utility class.
> private class GraphInsert
> - extends TestRunnable
> + extends TestRunner
> {
>
> private MutableGraph<BaseLabeledVertex, BaseLabeledEdge> g;
> @@ -444,8 +438,8 @@ public class BaseMutableGraphTestCase
> this.end = end;
> }
>
> + @Override
> public void runTest()
> - throws Throwable
> {
>
> // building a complete Graph
> @@ -478,5 +472,4 @@ public class BaseMutableGraphTestCase
> }
> }
> }
> -
> }
>
> Added: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java
> URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java?rev=1296883&view=auto
> ==============================================================================
> --- commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java (added)
> +++ commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java Sun Mar 4 21:33:54 2012
> @@ -0,0 +1,72 @@
> +package org.apache.commons.graph.utils;
> +
> +import java.util.ArrayList;
> +import java.util.List;
> +
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +/**
> + * Simple utility class.
> + * It is used for executing multi-thread test case.
> + */
> +public class MultiThreadedTestRunner
> +{
> + final private List<Thread> th;
> + long maxWait = 60L * 60L * 1000;
> + final private List<Throwable> exeptions;
> +
> +
> + public MultiThreadedTestRunner( TestRunner[] runnables )
> + {
> + th = new ArrayList<Thread>();
> + exeptions = new ArrayList<Throwable>();
> + for ( int i = 0; i < runnables.length; i++ )
> + {
> + runnables[i].setTestRunner( this );
> + th.add( new Thread( runnables[i] ) );
> + }
> + }
> +
> + public void runRunnables() throws Throwable
> + {
> + for ( Thread t : th )
> + {
> + t.start();
> + }
> +
> + for ( Thread t : th )
> + {
> + t.join( maxWait );
> + }
> +
> + if ( this.exeptions.size() > 0 )
> + {
> + throw this.exeptions.get( 0 );
> + }
> + }
> +
> + /**
> + * @param e
> + */
> + public void addException( Throwable e )
> + {
> + exeptions.add( e );
> + }
> +}
>
> Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Author Id Revision HeadURL
>
> Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/MultiThreadedTestRunner.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
> Added: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java
> URL: http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java?rev=1296883&view=auto
> ==============================================================================
> --- commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java (added)
> +++ commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java Sun Mar 4 21:33:54 2012
> @@ -0,0 +1,49 @@
> +package org.apache.commons.graph.utils;
> +
> +/*
> + * Licensed to the Apache Software Foundation (ASF) under one
> + * or more contributor license agreements. See the NOTICE file
> + * distributed with this work for additional information
> + * regarding copyright ownership. The ASF licenses this file
> + * to you under the Apache License, Version 2.0 (the
> + * "License"); you may not use this file except in compliance
> + * with the License. You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing,
> + * software distributed under the License is distributed on an
> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + * KIND, either express or implied. See the License for the
> + * specific language governing permissions and limitations
> + * under the License.
> + */
> +
> +/**
> + * Abstract class. It's a generic multi-thread test case
> + *
> + */
> +abstract public class TestRunner
> + implements Runnable
> +{
> + private MultiThreadedTestRunner runner;
> +
> + abstract public void runTest();
> +
> + public void setTestRunner( MultiThreadedTestRunner runner )
> + {
> + this.runner = runner;
> + }
> +
> + public void run()
> + {
> + try
> + {
> + runTest();
> + }
> + catch ( Throwable e )
> + {
> + runner.addException( e );
> + }
> + }
> +}
>
> Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java
> ------------------------------------------------------------------------------
> svn:eol-style = native
>
> Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java
> ------------------------------------------------------------------------------
> svn:keywords = Date Author Id Revision HeadURL
>
> Propchange: commons/sandbox/graph/trunk/src/test/java/org/apache/commons/graph/utils/TestRunner.java
> ------------------------------------------------------------------------------
> svn:mime-type = text/plain
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org