You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2017/02/20 11:07:01 UTC

[5/9] flink git commit: [FLINK-5817] [tests] Use TemporaryFold to create temp files and folds for test

[FLINK-5817] [tests] Use TemporaryFold to create temp files and folds for test


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/d1b148cf
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/d1b148cf
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/d1b148cf

Branch: refs/heads/release-1.2
Commit: d1b148cf30ebd10815912bca2f2b94b2b56a2388
Parents: fee020c
Author: wenlong.lwl <we...@alibaba-inc.com>
Authored: Fri Feb 17 17:14:54 2017 +0800
Committer: Stephan Ewen <se...@apache.org>
Committed: Mon Feb 20 02:07:54 2017 +0100

----------------------------------------------------------------------
 .../io/disk/iomanager/IOManagerTest.java        | 11 ++--
 .../flink/test/util/AbstractTestBase.java       | 53 ++++++--------------
 2 files changed, 22 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/d1b148cf/flink-runtime/src/test/java/org/apache/flink/runtime/io/disk/iomanager/IOManagerTest.java
----------------------------------------------------------------------
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/io/disk/iomanager/IOManagerTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/io/disk/iomanager/IOManagerTest.java
index 39cb8ee..156098e 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/io/disk/iomanager/IOManagerTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/io/disk/iomanager/IOManagerTest.java
@@ -21,7 +21,9 @@ package org.apache.flink.runtime.io.disk.iomanager;
 import org.apache.flink.core.memory.MemorySegment;
 import org.apache.flink.runtime.io.disk.iomanager.FileIOChannel.ID;
 import org.apache.flink.runtime.io.network.buffer.Buffer;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
 
 import java.io.File;
 import java.io.IOException;
@@ -34,12 +36,15 @@ import static org.junit.Assert.assertTrue;
 
 public class IOManagerTest {
 
+	@Rule
+	public final TemporaryFolder  temporaryFolder = new TemporaryFolder();
+
 	@Test
-	public void channelEnumerator() {
+	public void channelEnumerator() throws IOException {
 		IOManager ioMan = null;
 
 		try {
-			File tempPath = new File(System.getProperty("java.io.tmpdir"));
+			File tempPath = temporaryFolder.newFolder();
 
 			String[] tempDirs = new String[]{
 					new File(tempPath, "a").getAbsolutePath(),
@@ -126,4 +131,4 @@ public class IOManagerTest {
 			throw new UnsupportedOperationException();
 		}
 	}
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/flink/blob/d1b148cf/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/test/util/AbstractTestBase.java
----------------------------------------------------------------------
diff --git a/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/test/util/AbstractTestBase.java b/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/test/util/AbstractTestBase.java
index 316fd21..544d473 100644
--- a/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/test/util/AbstractTestBase.java
+++ b/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/test/util/AbstractTestBase.java
@@ -20,14 +20,17 @@ package org.apache.flink.test.util;
 
 import com.google.common.base.Charsets;
 import com.google.common.io.Files;
+
 import org.apache.flink.configuration.Configuration;
 import org.apache.flink.runtime.minicluster.LocalFlinkMiniCluster;
+
+import org.junit.Rule;
+import org.junit.rules.TemporaryFolder;
+
 import scala.concurrent.duration.FiniteDuration;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Objects;
 
 import org.apache.flink.runtime.akka.AkkaUtils;
@@ -39,22 +42,23 @@ public abstract class AbstractTestBase extends TestBaseUtils {
 	
 	/** Configuration to start the testing cluster with */
 	protected final Configuration config;
-	
-	private final List<File> tempFiles;
-	
+
 	private final FiniteDuration timeout;
 
 	protected int taskManagerNumSlots = 1;
 
 	protected int numTaskManagers = 1;
-	
+
+	@Rule
+	public final TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+
 	/** The mini cluster that runs the test programs */
 	protected LocalFlinkMiniCluster executor;
 	
 
 	public AbstractTestBase(Configuration config) {
 		this.config = Objects.requireNonNull(config);
-		this.tempFiles = new ArrayList<File>();
 
 		timeout = AkkaUtils.getTimeout(config);
 	}
@@ -74,7 +78,6 @@ public abstract class AbstractTestBase extends TestBaseUtils {
 
 	public void stopCluster() throws Exception {
 		stopCluster(executor, timeout);
-		deleteAllTempFiles();
 	}
 
 	//------------------
@@ -103,12 +106,12 @@ public abstract class AbstractTestBase extends TestBaseUtils {
 	// --------------------------------------------------------------------------------------------
 
 	public String getTempDirPath(String dirName) throws IOException {
-		File f = createAndRegisterTempFile(dirName);
+		File f = temporaryFolder.newFolder(dirName);
 		return f.toURI().toString();
 	}
 
 	public String getTempFilePath(String fileName) throws IOException {
-		File f = createAndRegisterTempFile(fileName);
+		File f = temporaryFolder.newFile(fileName);
 		return f.toURI().toString();
 	}
 
@@ -119,35 +122,7 @@ public abstract class AbstractTestBase extends TestBaseUtils {
 	}
 
 	public File createAndRegisterTempFile(String fileName) throws IOException {
-		File baseDir = new File(System.getProperty("java.io.tmpdir"));
-		File f = new File(baseDir, this.getClass().getName() + "-" + fileName);
-
-		if (f.exists()) {
-			deleteRecursively(f);
-		}
-
-		File parentToDelete = f;
-		while (true) {
-			File parent = parentToDelete.getParentFile();
-			if (parent == null) {
-				throw new IOException("Missed temp dir while traversing parents of a temp file.");
-			}
-			if (parent.equals(baseDir)) {
-				break;
-			}
-			parentToDelete = parent;
-		}
-
-		Files.createParentDirs(f);
-		this.tempFiles.add(parentToDelete);
-		return f;
+		return temporaryFolder.newFile(fileName);
 	}
 
-	private void deleteAllTempFiles() throws IOException {
-		for (File f : this.tempFiles) {
-			if (f.exists()) {
-				deleteRecursively(f);
-			}
-		}
-	}
 }