From 95416d6f0597c182f128f49476dd263e9d6f5ad2 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Fri, 16 Nov 2018 15:08:59 +0000 Subject: [PATCH] One more try to avoid the test-failures related to ImageIO-cache dir git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1846719 13f79535-47bb-0310-9956-ffa450edef68 --- .../hssf/usermodel/TestHSSFPictureData.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java index df7d7cf21..d82423b86 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPictureData.java @@ -19,7 +19,6 @@ package org.apache.poi.hssf.usermodel; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; -import java.io.File; import java.io.IOException; import java.util.List; @@ -28,6 +27,7 @@ import javax.imageio.ImageIO; import junit.framework.TestCase; import org.apache.poi.hssf.HSSFTestDataSamples; +import org.junit.AfterClass; import org.junit.BeforeClass; /** @@ -37,19 +37,19 @@ import org.junit.BeforeClass; * @author Yegor Kozlov (yegor at apache dot org) * @author Trejkaz (trejkaz at trypticon dot org) */ -public final class TestHSSFPictureData extends TestCase{ +public final class TestHSSFPictureData extends TestCase { + private static boolean cacheBefore = ImageIO.getUseCache(); + @BeforeClass public static void setUpClass() { - // ensure that temp-dir exists because ImageIO requires it - String tmpDirProperty = System.getProperty("java.io.tmpdir"); - if(tmpDirProperty != null) { - final File tmpDir = new File(tmpDirProperty); - if(!tmpDir.exists()) { - if(!tmpDir.mkdirs()) { - throw new IllegalStateException("Could not create temporary directory " + tmpDirProperty + ", full path " + tmpDir.getAbsolutePath()); - } - } - } + // disable cache to avoid strange errors related to temporary directories in CI-builds + ImageIO.setUseCache(false); + } + + @AfterClass + public static void tearDownClass() { + // reset image cache to previous state + ImageIO.setUseCache(cacheBefore); } public void testPictures() throws IOException {