summaryrefslogtreecommitdiff
path: root/test/java
diff options
context:
space:
mode:
authorluccioman <luccioman@users.noreply.github.com>2017-06-03 04:00:46 +0200
committerluccioman <luccioman@users.noreply.github.com>2017-06-03 04:00:46 +0200
commita04feac064aee0cc74ecfb4e83b2a70add88905a (patch)
tree1b53d17e316f7d3f852e3c2fc2a40d7514ea1bc6 /test/java
parentd98c04853dd39a452b0b98fb269a2013396cbb42 (diff)
Ensure file input streams proper closing in both success and failures
Also add when possible a warning level log message on input stream closing error instead of failing silently. This could help understanding some IO exceptions such as "too many files open".
Diffstat (limited to 'test/java')
-rw-r--r--test/java/net/yacy/document/parser/htmlParserTest.java20
-rw-r--r--test/java/net/yacy/document/parser/images/genericImageParserTest.java14
-rw-r--r--test/java/net/yacy/document/parser/images/metadataImageParserTest.java15
-rw-r--r--test/java/net/yacy/document/parser/pdfParserTest.java26
4 files changed, 52 insertions, 23 deletions
diff --git a/test/java/net/yacy/document/parser/htmlParserTest.java b/test/java/net/yacy/document/parser/htmlParserTest.java
index 3c50070d3..54a58680e 100644
--- a/test/java/net/yacy/document/parser/htmlParserTest.java
+++ b/test/java/net/yacy/document/parser/htmlParserTest.java
@@ -77,12 +77,22 @@ public class htmlParserTest extends TestCase {
System.out.println("parse file: " + filename);
htmlParser p = new htmlParser();
- final Document[] docs = p.parse(url, mimetype, null, new VocabularyScraper(), 0, new FileInputStream(file));
+ FileInputStream inStream = null;
+ try {
+ inStream = new FileInputStream(file);
+
+ final Document[] docs = p.parse(url, mimetype, null, new VocabularyScraper(), 0, inStream);
+
+ Document doc = docs[0];
+ String txt = doc.getCharset();
+ assertTrue("get Charset", txt != null);
+ System.out.println("detected charset = " + txt);
+ } finally {
+ if(inStream != null) {
+ System.out.println("Could not close input stream on file " + file);
+ }
+ }
- Document doc = docs[0];
- String txt = doc.getCharset();
- assertTrue("get Charset", txt != null);
- System.out.println("detected charset = " + txt);
}
}
diff --git a/test/java/net/yacy/document/parser/images/genericImageParserTest.java b/test/java/net/yacy/document/parser/images/genericImageParserTest.java
index f2da567be..1bcfe38d0 100644
--- a/test/java/net/yacy/document/parser/images/genericImageParserTest.java
+++ b/test/java/net/yacy/document/parser/images/genericImageParserTest.java
@@ -29,11 +29,15 @@ public class genericImageParserTest {
System.out.println("parse file: " + filename);
genericImageParser p = new genericImageParser();
- final Document[] docs = p.parse(url, mimetype, charset, new VocabularyScraper(), 0, new FileInputStream(file));
-
- Document doc = docs[0];
- assertEquals("YaCy Logo",doc.dc_title());
- System.out.println(doc.toString());
+ FileInputStream inStream = new FileInputStream(file);
+ try {
+ final Document[] docs = p.parse(url, mimetype, charset, new VocabularyScraper(), 0, inStream);
+ Document doc = docs[0];
+ assertEquals("YaCy Logo",doc.dc_title());
+ System.out.println(doc.toString());
+ } finally {
+ inStream.close();
+ }
}
}
diff --git a/test/java/net/yacy/document/parser/images/metadataImageParserTest.java b/test/java/net/yacy/document/parser/images/metadataImageParserTest.java
index 4c0939319..4c906412a 100644
--- a/test/java/net/yacy/document/parser/images/metadataImageParserTest.java
+++ b/test/java/net/yacy/document/parser/images/metadataImageParserTest.java
@@ -30,11 +30,16 @@ public class metadataImageParserTest {
System.out.println("parse file: " + filename);
metadataImageParser p = new metadataImageParser();
- final Document[] docs = p.parse(url, mimetype, charset, new VocabularyScraper(), 0, new FileInputStream(file));
-
- Document doc = docs[0];
- assertEquals("YaCy Logo",doc.dc_title());
- System.out.println(doc.toString());
+ FileInputStream inStream = new FileInputStream(file);
+ try {
+ final Document[] docs = p.parse(url, mimetype, charset, new VocabularyScraper(), 0, inStream);
+
+ Document doc = docs[0];
+ assertEquals("YaCy Logo",doc.dc_title());
+ System.out.println(doc.toString());
+ } finally {
+ inStream.close();
+ }
}
}
diff --git a/test/java/net/yacy/document/parser/pdfParserTest.java b/test/java/net/yacy/document/parser/pdfParserTest.java
index 56cc2d842..a44abdaa4 100644
--- a/test/java/net/yacy/document/parser/pdfParserTest.java
+++ b/test/java/net/yacy/document/parser/pdfParserTest.java
@@ -2,6 +2,7 @@ package net.yacy.document.parser;
import java.io.File;
import java.io.FileInputStream;
+import java.io.IOException;
import java.util.Collection;
import static junit.framework.TestCase.assertEquals;
import net.yacy.cora.document.id.AnchorURL;
@@ -30,16 +31,25 @@ public class pdfParserTest {
System.out.println("parse file: " + filename);
pdfParser p = new pdfParser();
- final Document[] docs = p.parse(url, mimetype, charset, new VocabularyScraper(), 0, new FileInputStream(file));
+ FileInputStream inStream = new FileInputStream(file);
+ try {
+ final Document[] docs = p.parse(url, mimetype, charset, new VocabularyScraper(), 0, inStream);
- Document doc = docs[0];
- int ilinks = doc.getAnchors().size();
- assertEquals("number of links in pdf", 1, ilinks);
+ Document doc = docs[0];
+ int ilinks = doc.getAnchors().size();
+ assertEquals("number of links in pdf", 1, ilinks);
- Collection<AnchorURL> links = doc.getAnchors();
- System.out.println("number of links detected = " + ilinks);
- for (AnchorURL aurl : links) {
- System.out.println(" found: " + aurl.toString());
+ Collection<AnchorURL> links = doc.getAnchors();
+ System.out.println("number of links detected = " + ilinks);
+ for (AnchorURL aurl : links) {
+ System.out.println(" found: " + aurl.toString());
+ }
+ } finally {
+ try {
+ inStream.close();
+ } catch(IOException ioe) {
+ System.out.println("Could not close input stream on file " + file);
+ }
}
}