From 5b738e36b476d143fbd8f61d2af573cb4900b6c9 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Sun, 16 Feb 2014 08:39:47 +0000 Subject: [PATCH] Fix unit test which failed after new corrupted file was added. git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1568741 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hpsf/basic/TestReadAllFiles.java | 47 ++++++++++++------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/src/testcases/org/apache/poi/hpsf/basic/TestReadAllFiles.java b/src/testcases/org/apache/poi/hpsf/basic/TestReadAllFiles.java index 8f7bbd5b05..53c2948d70 100644 --- a/src/testcases/org/apache/poi/hpsf/basic/TestReadAllFiles.java +++ b/src/testcases/org/apache/poi/hpsf/basic/TestReadAllFiles.java @@ -20,12 +20,14 @@ package org.apache.poi.hpsf.basic; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileFilter; +import java.io.IOException; import java.io.InputStream; import junit.framework.TestCase; -import org.apache.poi.hpsf.PropertySetFactory; import org.apache.poi.POIDataSamples; +import org.apache.poi.hpsf.HPSFException; +import org.apache.poi.hpsf.PropertySetFactory; /** *

Tests some HPSF functionality by reading all property sets from all files @@ -35,42 +37,53 @@ import org.apache.poi.POIDataSamples; * @author Rainer Klute (klute@rainer-klute.de) */ public class TestReadAllFiles extends TestCase { + private static String[] excludes = new String[] { + "TestZeroLengthCodePage.mpp", + }; /** *

This test methods reads all property set streams from all POI * filesystems in the "data" directory.

+ * + * @throws IOException + * @throws HPSFException */ - public void testReadAllFiles() + public void testReadAllFiles() throws IOException, HPSFException { POIDataSamples _samples = POIDataSamples.getHPSFInstance(); final File dataDir = _samples.getFile(""); final File[] fileList = dataDir.listFiles(new FileFilter() { + @Override public boolean accept(final File f) { + // exclude files that we know will fail + for(String exclude : excludes) { + if(f.getAbsolutePath().endsWith(exclude)) { + return false; + } + } + return f.isFile(); } }); - try + + for (int i = 0; i < fileList.length; i++) { - for (int i = 0; i < fileList.length; i++) - { - final File f = fileList[i]; - /* Read the POI filesystem's property set streams: */ - final POIFile[] psf1 = Util.readPropertySets(f); + final File f = fileList[i]; + /* Read the POI filesystem's property set streams: */ + final POIFile[] psf1 = Util.readPropertySets(f); - for (int j = 0; j < psf1.length; j++) - { - final InputStream in = - new ByteArrayInputStream(psf1[j].getBytes()); + for (int j = 0; j < psf1.length; j++) + { + final InputStream in = + new ByteArrayInputStream(psf1[j].getBytes()); + try { PropertySetFactory.create(in); + } catch (Exception e) { + throw new IOException("While handling file: " + f + " at " + j, e); } } } - catch (Throwable t) - { - final String s = org.apache.poi.hpsf.Util.toString(t); - fail(s); - } } } -- 2.39.5