Browse Source

Enable running more integration tests from Gradle.

This is particularly relevant for developers who import the Gradle project into their IDE and run tests using the Gradle test runner. Those developers were previously unable to debug integration tests.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1886962 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_5_1_0
Marius Volkhart 3 years ago
parent
commit
451684aa91
2 changed files with 14 additions and 3 deletions
  1. 0
    1
      build.gradle
  2. 14
    2
      src/integrationtest/org/apache/poi/stress/TestAllFiles.java

+ 0
- 1
build.gradle View File

@@ -421,7 +421,6 @@ project('integrationtest') {

test {
// exclude these from the normal test-run
exclude '**/TestAllFiles.class'
exclude '**/*FileHandler.class'
}


+ 14
- 2
src/integrationtest/org/apache/poi/stress/TestAllFiles.java View File

@@ -70,7 +70,8 @@ import org.opentest4j.AssertionFailedError;
// also need to set JVM parameter: -Djunit.jupiter.execution.parallel.enabled=true
@Execution(ExecutionMode.CONCURRENT)
public class TestAllFiles {
public static final File ROOT_DIR = new File("test-data");
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 String[] SCAN_EXCLUDES = {
"**/.svn/**",
@@ -183,7 +184,18 @@ public class TestAllFiles {
}

private static String pathReplace(String msg) {
if (msg == null) return null;

// Windows path replacement
return msg == null ? null : msg.replace('\\', '/');
msg = msg.replace('\\', '/');

// Adjust file paths to remove unwanted file path info.
int filePathIndex = msg.indexOf(ROOT_DIR.toString());
if (filePathIndex > 0) {
int testDataDirectoryIndex = msg.indexOf(DEFAULT_TEST_DATA_PATH);
msg = msg.substring(0, filePathIndex) + msg.substring(testDataDirectoryIndex);
}

return msg;
}
}

Loading…
Cancel
Save