]> source.dussan.org Git - poi.git/commitdiff
Also look for test-data in parent-directory
authorDominik Stadler <centic@apache.org>
Fri, 29 Jul 2022 17:07:05 +0000 (17:07 +0000)
committerDominik Stadler <centic@apache.org>
Fri, 29 Jul 2022 17:07:05 +0000 (17:07 +0000)
When using the IDE to run tests in one of the
sub-modules uses the poi-* sub-directory, so
looking for the test-data in ../test-data is
useful to make executing tests work out-of-the-box

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1903103 13f79535-47bb-0310-9956-ffa450edef68

poi-integration/src/test/java/org/apache/poi/stress/TestAllFiles.java
poi-ooxml/src/test/java/org/apache/poi/ooxml/TestTriggerCoverage.java
poi/src/test/java/org/apache/poi/hssf/dev/BaseTestIteratingXLS.java
poi/src/test/java/org/apache/poi/hssf/model/TestDrawingAggregate.java

index 8c940274598524c412f86be903d2e903f1e15089..aaa1173c7cd2b4bcaeaf786ba2ed1b86b36c03c6 100644 (file)
@@ -33,6 +33,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.stream.Stream;
 
+import org.apache.poi.POIDataSamples;
 import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey;
 import org.apache.tools.ant.DirectoryScanner;
 import org.junit.jupiter.api.function.Executable;
@@ -71,7 +72,15 @@ import org.opentest4j.AssertionFailedError;
 @Execution(ExecutionMode.CONCURRENT)
 public class TestAllFiles {
     private static final String DEFAULT_TEST_DATA_PATH = "test-data";
-    public static final File ROOT_DIR = new File(System.getProperty("POI.testdata.path", DEFAULT_TEST_DATA_PATH));
+    public static final File ROOT_DIR;
+    static {
+               File dir = new File(System.getProperty(POIDataSamples.TEST_PROPERTY, DEFAULT_TEST_DATA_PATH));
+               if (!dir.exists()) {
+                       dir = new File(System.getProperty(POIDataSamples.TEST_PROPERTY, "../" + DEFAULT_TEST_DATA_PATH));
+               }
+
+               ROOT_DIR = dir;
+       }
 
     public static final String[] SCAN_EXCLUDES = {
         "**/.svn/**",
index c2bf7aa2f08ec1c92bee0b6761d9beb3a967bc0d..8ce0ae96920558e84192b579aa46299fef26f99c 100644 (file)
@@ -70,6 +70,10 @@ class TestTriggerCoverage {
             dataDirName = "test-data";
         }
 
+        if (!new File(dataDirName).exists()) {
+            dataDirName = "../test-data";
+        }
+
         List<Arguments> files = new ArrayList<>();
         findFile(files, dataDirName + "/integration");
 
index 065fe6a70a5c6d33176a86249098ee3982dd6622..5ec8a30b23ed7cbc79fc6ad7c6798bbe9c6da435 100644 (file)
@@ -50,7 +50,8 @@ public abstract class BaseTestIteratingXLS {
     };
 
     public Stream<Arguments> files() {
-        String dataDirName = System.getProperty(POIDataSamples.TEST_PROPERTY, "test-data");
+        String dataDirName = System.getProperty(POIDataSamples.TEST_PROPERTY,
+                new File("test-data").exists() ? "test-data" : "../test-data");
 
         DirectoryScanner scanner = new DirectoryScanner();
         scanner.setBasedir(dataDirName);
index 90bd30c3c550abb5028ffa795fd7de074644bb37..6b99428aeadf610bd55a2a6087e892d8ec1f691e 100644 (file)
@@ -33,6 +33,7 @@ import java.util.Map;
 import java.util.stream.Stream;
 
 import org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream;
+import org.apache.poi.POIDataSamples;
 import org.apache.poi.ddf.DefaultEscherRecordFactory;
 import org.apache.poi.ddf.EscherContainerRecord;
 import org.apache.poi.ddf.EscherDggRecord;
@@ -127,7 +128,12 @@ class TestDrawingAggregate {
     }
 
     public static Stream<Arguments> samples() {
-        File testData = new File(System.getProperty("POI.testdata.path"), "spreadsheet");
+        String property = System.getProperty(POIDataSamples.TEST_PROPERTY, "test-data");
+        File testData = new File(property, "spreadsheet");
+        if (!testData.exists()) {
+            testData = new File("../" + property, "spreadsheet");
+        }
+
         File[] files = testData.listFiles((dir, name) -> name.endsWith(".xls"));
         assertNotNull(files, "Need to find files in test-data path, had path: " + testData);
         return Stream.of(files).map(Arguments::of);