You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2011/01/21 15:59:03 UTC
svn commit: r1061833 -
/tika/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java
Author: jukka
Date: Fri Jan 21 14:59:03 2011
New Revision: 1061833
URL: http://svn.apache.org/viewvc?rev=1061833&view=rev
Log:
TIKA-416: Out-of-process text extraction
More test cases
Modified:
tika/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java
Modified: tika/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java?rev=1061833&r1=1061832&r2=1061833&view=diff
==============================================================================
--- tika/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java (original)
+++ tika/trunk/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java Fri Jan 21 14:59:03 2011
@@ -43,5 +43,56 @@ public class ForkParserTest extends Test
}
}
+ public void testSerialParsing() throws Exception {
+ ForkParser parser = new ForkParser(
+ ForkParserTest.class.getClassLoader(),
+ new ForkTestParser());
+ try {
+ ParseContext context = new ParseContext();
+ for (int i = 0; i < 10; i++) {
+ ContentHandler output = new BodyContentHandler();
+ InputStream stream = new ByteArrayInputStream(new byte[0]);
+ parser.parse(stream, output, new Metadata(), context);
+ assertEquals("Hello, World!", output.toString().trim());
+ }
+ } finally {
+ parser.close();
+ }
+ }
+
+ public void testParallelParsing() throws Exception {
+ final ForkParser parser = new ForkParser(
+ ForkParserTest.class.getClassLoader(),
+ new ForkTestParser());
+ try {
+ final ParseContext context = new ParseContext();
+
+ Thread[] threads = new Thread[10];
+ ContentHandler[] output = new ContentHandler[threads.length];
+ for (int i = 0; i < threads.length; i++) {
+ final ContentHandler o = new BodyContentHandler();
+ output[i] = o;
+ threads[i] = new Thread() {
+ public void run() {
+ try {
+ InputStream stream =
+ new ByteArrayInputStream(new byte[0]);
+ parser.parse(stream, o, new Metadata(), context);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ };
+ threads[i].start();
+ }
+
+ for (int i = 0; i < threads.length; i++) {
+ threads[i].join();
+ assertEquals("Hello, World!", output[i].toString().trim());
+ }
+ } finally {
+ parser.close();
+ }
+ }
}