yet another attempt to make the loader failing
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/digester/trunk@1301007 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/src/test/java/org/apache/commons/digester3/binder/Digester163TestCase.java b/core/src/test/java/org/apache/commons/digester3/binder/Digester163TestCase.java
index acdb4c0..982e93d 100644
--- a/core/src/test/java/org/apache/commons/digester3/binder/Digester163TestCase.java
+++ b/core/src/test/java/org/apache/commons/digester3/binder/Digester163TestCase.java
@@ -34,7 +34,6 @@
import org.junit.Before;
import org.junit.Test;
-
/**
* Test.
*/
@@ -43,10 +42,10 @@
public static final int MAX_THREADS = 4;
- private DigesterLoader loader;
+ private DigesterLoader loader = null;
@Before
- public void setUp()
+ public void before()
{
loader = newLoader( new FromXmlRulesModule()
{
@@ -64,10 +63,12 @@
public void test()
throws InterruptedException
{
- ThreadPoolExecutor executor = new ThreadPoolExecutor( MAX_THREADS, MAX_THREADS,
+ ThreadPoolExecutor executor = new ThreadPoolExecutor( MAX_THREADS,
+ MAX_THREADS,
Long.MAX_VALUE,
TimeUnit.NANOSECONDS,
new LinkedBlockingQueue<Runnable>() );
+ final LinkedBlockingQueue<Exception> exceptions = new LinkedBlockingQueue<Exception>();
for ( int i = 0; i < MAX_THREADS * 2; i++ )
{
executor.submit( new Runnable()
@@ -75,17 +76,19 @@
public void run()
{
- Digester dig = loader.newDigester();
+
+ Digester dig = null;
InputStream in = null;
try
{
- in = this.getClass().getClassLoader().getResourceAsStream( "test.xml" );
+ dig = loader.newDigester();
+ in = Digester163TestCase.class.getResourceAsStream( "test.xml" );
Entity et = dig.parse( in );
assertEquals( "Author 1", et.getAuthor() );
}
catch ( Exception e )
{
- fail( e.getMessage() );
+ exceptions.add( e );
}
finally
{
@@ -101,6 +104,7 @@
}
}
}
+
}
} );
}
@@ -116,6 +120,13 @@
break;
}
}
- }
+ Exception e = exceptions.poll();
+ if ( e != null )
+ {
+ e.printStackTrace();
+ fail( "Throwable caught -> " + e.getMessage() != null ? e.getMessage() : "" );
+ }
+
+ }
}
diff --git a/core/src/test/resources/org/apache/commons/digester3/binder/test.xml b/core/src/test/resources/org/apache/commons/digester3/binder/test.xml
index ef5cc34..8d8e84e 100644
--- a/core/src/test/resources/org/apache/commons/digester3/binder/test.xml
+++ b/core/src/test/resources/org/apache/commons/digester3/binder/test.xml
@@ -15,12 +15,10 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<root>
- <container>
- <header>
- <authors>
- <author>Author 1</author>
- </authors>
- </header>
- </container>
-</root>
+<container>
+ <header>
+ <authors>
+ <author>Author 1</author>
+ </authors>
+ </header>
+</container>