You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by sj...@apache.org on 2021/11/15 21:22:58 UTC
[flink] 01/04: [hotfix][testutils] Read result files recursively
This is an automated email from the ASF dual-hosted git repository.
sjwiesman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
commit df2c47dd7bb942334596f19eadd63ac9efe66494
Author: sjwiesman <sj...@gmail.com>
AuthorDate: Tue Nov 9 12:23:20 2021 -0600
[hotfix][testutils] Read result files recursively
---
.../org/apache/flink/test/util/TestBaseUtils.java | 35 +++++++++++++---------
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/test/util/TestBaseUtils.java b/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/test/util/TestBaseUtils.java
index 9cdac72..a775055 100644
--- a/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/test/util/TestBaseUtils.java
+++ b/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/test/util/TestBaseUtils.java
@@ -35,7 +35,6 @@ import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -44,6 +43,8 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -303,19 +304,25 @@ public class TestBaseUtils extends TestLogger {
assertTrue("Result file was not written", result.exists());
if (result.isDirectory()) {
- return result.listFiles(
- new FilenameFilter() {
-
- @Override
- public boolean accept(File dir, String name) {
- for (String p : excludePrefixes) {
- if (name.startsWith(p)) {
- return false;
- }
- }
- return true;
- }
- });
+ try {
+ return Files.walk(result.toPath())
+ .filter(Files::isRegularFile)
+ .filter(
+ path -> {
+ for (String prefix : excludePrefixes) {
+ if (path.getFileName().startsWith(prefix)) {
+ return false;
+ }
+ }
+
+ return true;
+ })
+ .map(Path::toFile)
+ .filter(file -> !file.isHidden())
+ .toArray(File[]::new);
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to retrieve result files");
+ }
} else {
return new File[] {result};
}