]> source.dussan.org Git - poi.git/commitdiff
add extra debug logging to failing tests
authorPJ Fanning <fanningpj@apache.org>
Wed, 14 Jul 2021 21:53:22 +0000 (21:53 +0000)
committerPJ Fanning <fanningpj@apache.org>
Wed, 14 Jul 2021 21:53:22 +0000 (21:53 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1891554 13f79535-47bb-0310-9956-ffa450edef68

poi-integration/src/test/java/org/apache/poi/stress/OPCFileHandler.java
poi-integration/src/test/java/org/apache/poi/stress/XWPFFileHandler.java

index 2bbd9fc70a8955d2e467d834a69afd5fe86afbd3..e5493d01bd0e546733e73bfc5c0bc284b6d1cf6f 100644 (file)
@@ -36,7 +36,12 @@ class OPCFileHandler extends AbstractFileHandler {
         // ignore password protected files
         if (POIXMLDocumentHandler.isEncrypted(stream)) return;
 
-        OPCPackage p = OPCPackage.open(stream);
+        OPCPackage p;
+        try {
+            p = OPCPackage.open(stream);
+        } catch (Exception e) {
+            throw new RuntimeException("Failed to open '" + path + "' as OPCPackage", e);
+        }
 
         for (PackagePart part : p.getParts()) {
             if (part.getPartName().toString().equals("/docProps/core.xml")) {
index 0970d4fa1a60f4b772a6ddca5c16f3f586052094..dbbb3f5edd6331c7f6995c4503a462c3c1f6b9a0 100644 (file)
@@ -20,24 +20,31 @@ import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.apache.poi.ooxml.POIXMLException;
+import org.apache.poi.openxml4j.opc.OPCPackage;
 import org.apache.poi.xwpf.usermodel.XWPFDocument;
 import org.junit.jupiter.api.Test;
 
 class XWPFFileHandler extends AbstractFileHandler {
+
     @Override
     public void handleFile(InputStream stream, String path) throws Exception {
         // ignore password protected files
         if (POIXMLDocumentHandler.isEncrypted(stream)) return;
 
         try (XWPFDocument doc = new XWPFDocument(stream)) {
-
             new POIXMLDocumentHandler().handlePOIXMLDocument(doc);
             POIXMLDocumentHandler.cursorRecursive(doc.getDocument());
         } catch (POIXMLException e) {
             Exception cause = (Exception)e.getCause();
             throw cause == null ? e : cause;
+        } catch (Exception e) {
+            throw new RuntimeException("Failed to open '" + path + "' as XWPFDocument", e);
         }
     }
 
@@ -53,4 +60,8 @@ class XWPFFileHandler extends AbstractFileHandler {
 
         handleExtracting(file);
     }
+
+    private static Set<String> unmodifiableHashSet(String... a) {
+        return Collections.unmodifiableSet(new HashSet<>(Arrays.asList(a)));
+    }
 }
\ No newline at end of file