[FLINK-6659] fix RocksDBMergeIteratorTest leaving temporary data behind -> use a JUnit '@Rule' that does the cleanup
Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/b58a420e Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/b58a420e Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/b58a420e Branch: refs/heads/master Commit: b58a420e3954f734192a7eff2e187349c4ed9959 Parents: dbcc456 Author: Nico Kruber <[email protected]> Authored: Mon May 22 16:47:35 2017 +0200 Committer: zentol <[email protected]> Committed: Wed May 24 16:46:03 2017 +0200 ---------------------------------------------------------------------- .../state/RocksDBMergeIteratorTest.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/b58a420e/flink-contrib/flink-statebackend-rocksdb/src/test/java/org/apache/flink/contrib/streaming/state/RocksDBMergeIteratorTest.java ---------------------------------------------------------------------- diff --git a/flink-contrib/flink-statebackend-rocksdb/src/test/java/org/apache/flink/contrib/streaming/state/RocksDBMergeIteratorTest.java b/flink-contrib/flink-statebackend-rocksdb/src/test/java/org/apache/flink/contrib/streaming/state/RocksDBMergeIteratorTest.java index 956ef2f..f5bcf86 100644 --- a/flink-contrib/flink-statebackend-rocksdb/src/test/java/org/apache/flink/contrib/streaming/state/RocksDBMergeIteratorTest.java +++ b/flink-contrib/flink-statebackend-rocksdb/src/test/java/org/apache/flink/contrib/streaming/state/RocksDBMergeIteratorTest.java @@ -21,16 +21,16 @@ package org.apache.flink.contrib.streaming.state; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.configuration.ConfigConstants; import org.apache.flink.core.memory.ByteArrayOutputStreamWithPos; -import org.apache.flink.runtime.testutils.CommonTestUtils; import org.junit.Assert; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.TemporaryFolder; import org.rocksdb.ColumnFamilyDescriptor; import org.rocksdb.ColumnFamilyHandle; import org.rocksdb.RocksDB; import org.rocksdb.RocksIterator; import java.io.DataOutputStream; -import java.io.File; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; @@ -43,6 +43,9 @@ public class RocksDBMergeIteratorTest { private static final int NUM_KEY_VAL_STATES = 50; private static final int MAX_NUM_KEYS = 20; + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + @Test public void testEmptyMergeIterator() throws IOException { RocksDBKeyedStateBackend.RocksDBMergeIterator emptyIterator = @@ -51,19 +54,23 @@ public class RocksDBMergeIteratorTest { } @Test - public void testMergeIterator() throws Exception { + public void testMergeIteratorByte() throws Exception { Assert.assertTrue(MAX_NUM_KEYS <= Byte.MAX_VALUE); testMergeIterator(Byte.MAX_VALUE); + } + + @Test + public void testMergeIteratorShort() throws Exception { + Assert.assertTrue(MAX_NUM_KEYS <= Byte.MAX_VALUE); + testMergeIterator(Short.MAX_VALUE); } public void testMergeIterator(int maxParallelism) throws Exception { Random random = new Random(1234); - File tmpDir = CommonTestUtils.createTempDirectory(); - - RocksDB rocksDB = RocksDB.open(tmpDir.getAbsolutePath()); + RocksDB rocksDB = RocksDB.open(tempFolder.getRoot().getAbsolutePath()); try { List<Tuple2<RocksIterator, Integer>> rocksIteratorsWithKVStateId = new ArrayList<>(); List<Tuple2<ColumnFamilyHandle, Integer>> columnFamilyHandlesWithKeyCount = new ArrayList<>();
