From 5b72ef24a8a61bf6933316f1c09ff0a926adadf1 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 13 Sep 2016 00:58:06 +0100 Subject: [PATCH 01/12] Added Test timeout --- redisson/src/test/java/org/redisson/BaseReactiveTest.java | 6 ++++++ redisson/src/test/java/org/redisson/BaseTest.java | 6 ++++++ redisson/src/test/java/org/redisson/RedisClientTest.java | 5 +++++ .../org/redisson/RedissonCountDownLatchConcurrentTest.java | 5 +++++ .../src/test/java/org/redisson/RedissonMultiLockTest.java | 5 +++++ .../src/test/java/org/redisson/RedissonRedLockTest.java | 5 +++++ redisson/src/test/java/org/redisson/RedissonTest.java | 5 +++++ .../test/java/org/redisson/RedissonTopicPatternTest.java | 5 +++++ redisson/src/test/java/org/redisson/RedissonTopicTest.java | 5 +++++ .../src/test/java/org/redisson/RedissonTwoLockedThread.java | 6 ++++++ 10 files changed, 53 insertions(+) diff --git a/redisson/src/test/java/org/redisson/BaseReactiveTest.java b/redisson/src/test/java/org/redisson/BaseReactiveTest.java index e6c443dbe..8270540d3 100644 --- a/redisson/src/test/java/org/redisson/BaseReactiveTest.java +++ b/redisson/src/test/java/org/redisson/BaseReactiveTest.java @@ -2,11 +2,14 @@ package org.redisson; import java.io.IOException; import java.util.Iterator; +import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; +import org.junit.ClassRule; +import org.junit.rules.Timeout; import org.reactivestreams.Publisher; import org.redisson.api.RCollectionReactive; import org.redisson.api.RScoredSortedSetReactive; @@ -18,6 +21,9 @@ import reactor.rx.Streams; public abstract class BaseReactiveTest { + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + protected RedissonReactiveClient redisson; protected static RedissonReactiveClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/BaseTest.java b/redisson/src/test/java/org/redisson/BaseTest.java index e22c1df61..8721fb7b9 100644 --- a/redisson/src/test/java/org/redisson/BaseTest.java +++ b/redisson/src/test/java/org/redisson/BaseTest.java @@ -1,15 +1,21 @@ package org.redisson; import java.io.IOException; +import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; +import org.junit.ClassRule; +import org.junit.rules.Timeout; import org.redisson.api.RedissonClient; import org.redisson.codec.MsgPackJacksonCodec; import org.redisson.config.Config; public abstract class BaseTest { + + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); protected RedissonClient redisson; protected static RedissonClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/RedisClientTest.java b/redisson/src/test/java/org/redisson/RedisClientTest.java index 98da18393..855dfe1fe 100644 --- a/redisson/src/test/java/org/redisson/RedisClientTest.java +++ b/redisson/src/test/java/org/redisson/RedisClientTest.java @@ -34,9 +34,14 @@ import org.redisson.misc.RedissonPromise; import io.netty.util.concurrent.FutureListener; import io.netty.util.concurrent.ImmediateEventExecutor; +import org.junit.ClassRule; +import org.junit.rules.Timeout; public class RedisClientTest { + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + @BeforeClass public static void beforeClass() throws IOException, InterruptedException { if (!RedissonRuntimeEnvironment.isTravis) { diff --git a/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java b/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java index 5476862fc..b027d9cbb 100644 --- a/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java +++ b/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java @@ -11,12 +11,17 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; +import org.junit.ClassRule; import org.junit.Test; +import org.junit.rules.Timeout; import org.redisson.api.RCountDownLatch; import org.redisson.api.RedissonClient; public class RedissonCountDownLatchConcurrentTest { + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + @BeforeClass public static void beforeClass() throws IOException, InterruptedException { if (!RedissonRuntimeEnvironment.isTravis) { diff --git a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java index 3794bdf6f..5676139d5 100644 --- a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java @@ -14,9 +14,14 @@ import org.redisson.config.Config; import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; +import org.junit.ClassRule; +import org.junit.rules.Timeout; public class RedissonMultiLockTest { + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + @Test public void testMultiThreads() throws IOException, InterruptedException { RedisProcess redis1 = redisTestMultilockInstance(6320); diff --git a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java index 6b72c24b1..b45d4d282 100644 --- a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java @@ -16,9 +16,14 @@ import org.redisson.config.Config; import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; +import org.junit.ClassRule; +import org.junit.rules.Timeout; public class RedissonRedLockTest { + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + @Test public void testLockFailed() throws IOException, InterruptedException { RedisProcess redis1 = redisTestMultilockInstance(6320); diff --git a/redisson/src/test/java/org/redisson/RedissonTest.java b/redisson/src/test/java/org/redisson/RedissonTest.java index 32fe1a804..71ea2c6be 100644 --- a/redisson/src/test/java/org/redisson/RedissonTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTest.java @@ -32,10 +32,15 @@ import org.redisson.connection.ConnectionListener; import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; +import org.junit.ClassRule; +import org.junit.rules.Timeout; import static org.redisson.BaseTest.createInstance; public class RedissonTest { + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + protected RedissonClient redisson; protected static RedissonClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java index fa6c19f09..119e89c9f 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java @@ -19,7 +19,9 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; +import org.junit.ClassRule; import org.junit.Test; +import org.junit.rules.Timeout; import org.redisson.RedisRunner.RedisProcess; import org.redisson.api.RPatternTopic; import org.redisson.api.RTopic; @@ -33,6 +35,9 @@ import org.redisson.config.Config; public class RedissonTopicPatternTest { + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + @BeforeClass public static void beforeClass() throws IOException, InterruptedException { if (!RedissonRuntimeEnvironment.isTravis) { diff --git a/redisson/src/test/java/org/redisson/RedissonTopicTest.java b/redisson/src/test/java/org/redisson/RedissonTopicTest.java index 867b497fd..3b7014794 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicTest.java @@ -36,9 +36,14 @@ import org.redisson.config.Config; import com.jayway.awaitility.Awaitility; import com.jayway.awaitility.Duration; +import org.junit.ClassRule; +import org.junit.rules.Timeout; public class RedissonTopicTest { + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + @BeforeClass public static void beforeClass() throws IOException, InterruptedException { if (!RedissonRuntimeEnvironment.isTravis) { diff --git a/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java b/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java index 6ba710c1d..c58032ab0 100644 --- a/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java +++ b/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java @@ -17,13 +17,19 @@ import org.redisson.config.Config; import java.util.Arrays; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; import org.junit.AfterClass; import org.junit.BeforeClass; +import org.junit.ClassRule; +import org.junit.rules.Timeout; import static org.redisson.BaseTest.createInstance; @RunWith(Parameterized.class) public class RedissonTwoLockedThread { + @ClassRule + public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + @Parameterized.Parameters(name= "{index} - {0}") public static Iterable data() { return Arrays.asList(new Object[][] {{new JsonJacksonCodec()}, {new SerializationCodec()}}); From 8f32bd6d7d83fec6a2b1719ac1d662464f389548 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 13 Sep 2016 21:19:28 +0100 Subject: [PATCH 02/12] added local test timeout --- redisson/src/test/java/org/redisson/BaseReactiveTest.java | 5 ++++- redisson/src/test/java/org/redisson/BaseTest.java | 5 ++++- redisson/src/test/java/org/redisson/RedisClientTest.java | 5 ++++- .../org/redisson/RedissonCountDownLatchConcurrentTest.java | 5 ++++- .../src/test/java/org/redisson/RedissonMultiLockTest.java | 5 ++++- redisson/src/test/java/org/redisson/RedissonRedLockTest.java | 5 ++++- redisson/src/test/java/org/redisson/RedissonTest.java | 5 ++++- .../src/test/java/org/redisson/RedissonTopicPatternTest.java | 5 ++++- redisson/src/test/java/org/redisson/RedissonTopicTest.java | 5 ++++- .../src/test/java/org/redisson/RedissonTwoLockedThread.java | 5 ++++- 10 files changed, 40 insertions(+), 10 deletions(-) diff --git a/redisson/src/test/java/org/redisson/BaseReactiveTest.java b/redisson/src/test/java/org/redisson/BaseReactiveTest.java index 8270540d3..f3c7919f6 100644 --- a/redisson/src/test/java/org/redisson/BaseReactiveTest.java +++ b/redisson/src/test/java/org/redisson/BaseReactiveTest.java @@ -9,6 +9,7 @@ import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.rules.Timeout; import org.reactivestreams.Publisher; import org.redisson.api.RCollectionReactive; @@ -22,7 +23,9 @@ import reactor.rx.Streams; public abstract class BaseReactiveTest { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); protected RedissonReactiveClient redisson; protected static RedissonReactiveClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/BaseTest.java b/redisson/src/test/java/org/redisson/BaseTest.java index 8721fb7b9..e8d7a0cdf 100644 --- a/redisson/src/test/java/org/redisson/BaseTest.java +++ b/redisson/src/test/java/org/redisson/BaseTest.java @@ -7,6 +7,7 @@ import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.rules.Timeout; import org.redisson.api.RedissonClient; import org.redisson.codec.MsgPackJacksonCodec; @@ -15,7 +16,9 @@ import org.redisson.config.Config; public abstract class BaseTest { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); protected RedissonClient redisson; protected static RedissonClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/RedisClientTest.java b/redisson/src/test/java/org/redisson/RedisClientTest.java index 855dfe1fe..3c814b5d8 100644 --- a/redisson/src/test/java/org/redisson/RedisClientTest.java +++ b/redisson/src/test/java/org/redisson/RedisClientTest.java @@ -35,12 +35,15 @@ import org.redisson.misc.RedissonPromise; import io.netty.util.concurrent.FutureListener; import io.netty.util.concurrent.ImmediateEventExecutor; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.rules.Timeout; public class RedisClientTest { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @BeforeClass public static void beforeClass() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java b/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java index b027d9cbb..f2d7f390a 100644 --- a/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java +++ b/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java @@ -12,6 +12,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.Test; import org.junit.rules.Timeout; import org.redisson.api.RCountDownLatch; @@ -20,7 +21,9 @@ import org.redisson.api.RedissonClient; public class RedissonCountDownLatchConcurrentTest { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @BeforeClass public static void beforeClass() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java index 5676139d5..3e6d547df 100644 --- a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java @@ -15,12 +15,15 @@ import org.redisson.config.Config; import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.rules.Timeout; public class RedissonMultiLockTest { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @Test public void testMultiThreads() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java index b45d4d282..9e71f298d 100644 --- a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java @@ -17,12 +17,15 @@ import org.redisson.config.Config; import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.rules.Timeout; public class RedissonRedLockTest { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @Test public void testLockFailed() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonTest.java b/redisson/src/test/java/org/redisson/RedissonTest.java index 71ea2c6be..2471cb465 100644 --- a/redisson/src/test/java/org/redisson/RedissonTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTest.java @@ -33,13 +33,16 @@ import org.redisson.connection.ConnectionListener; import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.rules.Timeout; import static org.redisson.BaseTest.createInstance; public class RedissonTest { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); protected RedissonClient redisson; protected static RedissonClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java index 119e89c9f..e2ccc8b4d 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java @@ -20,6 +20,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.Test; import org.junit.rules.Timeout; import org.redisson.RedisRunner.RedisProcess; @@ -36,7 +37,9 @@ import org.redisson.config.Config; public class RedissonTopicPatternTest { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @BeforeClass public static void beforeClass() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonTopicTest.java b/redisson/src/test/java/org/redisson/RedissonTopicTest.java index 3b7014794..e96439e8d 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicTest.java @@ -37,12 +37,15 @@ import org.redisson.config.Config; import com.jayway.awaitility.Awaitility; import com.jayway.awaitility.Duration; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.rules.Timeout; public class RedissonTopicTest { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @BeforeClass public static void beforeClass() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java b/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java index c58032ab0..f58c9deae 100644 --- a/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java +++ b/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java @@ -21,6 +21,7 @@ import java.util.concurrent.TimeUnit; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.ClassRule; +import org.junit.Rule; import org.junit.rules.Timeout; import static org.redisson.BaseTest.createInstance; @@ -28,7 +29,9 @@ import static org.redisson.BaseTest.createInstance; public class RedissonTwoLockedThread { @ClassRule - public static Timeout classTimeout = new Timeout(15, TimeUnit.MINUTES); + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @Parameterized.Parameters(name= "{index} - {0}") public static Iterable data() { From 92db4fe8df0b746c7e94ccc1c4544ea62a4ca350 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Tue, 13 Sep 2016 22:57:22 +0100 Subject: [PATCH 03/12] removed static modifier on local timeout --- .../java/org/redisson/BaseReactiveTest.java | 2 +- .../src/test/java/org/redisson/BaseTest.java | 2 +- .../java/org/redisson/RedisClientTest.java | 2 +- .../test/java/org/redisson/RedisRunner.java | 34 +++++++++++++++++++ .../RedissonCountDownLatchConcurrentTest.java | 2 +- .../org/redisson/RedissonMultiLockTest.java | 2 +- .../org/redisson/RedissonRedLockTest.java | 2 +- .../test/java/org/redisson/RedissonTest.java | 2 +- .../redisson/RedissonTopicPatternTest.java | 2 +- .../java/org/redisson/RedissonTopicTest.java | 2 +- .../org/redisson/RedissonTwoLockedThread.java | 2 +- 11 files changed, 44 insertions(+), 10 deletions(-) diff --git a/redisson/src/test/java/org/redisson/BaseReactiveTest.java b/redisson/src/test/java/org/redisson/BaseReactiveTest.java index f3c7919f6..1cba67283 100644 --- a/redisson/src/test/java/org/redisson/BaseReactiveTest.java +++ b/redisson/src/test/java/org/redisson/BaseReactiveTest.java @@ -25,7 +25,7 @@ public abstract class BaseReactiveTest { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); protected RedissonReactiveClient redisson; protected static RedissonReactiveClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/BaseTest.java b/redisson/src/test/java/org/redisson/BaseTest.java index e8d7a0cdf..496c2b6fb 100644 --- a/redisson/src/test/java/org/redisson/BaseTest.java +++ b/redisson/src/test/java/org/redisson/BaseTest.java @@ -18,7 +18,7 @@ public abstract class BaseTest { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); protected RedissonClient redisson; protected static RedissonClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/RedisClientTest.java b/redisson/src/test/java/org/redisson/RedisClientTest.java index 3c814b5d8..9ec1159b0 100644 --- a/redisson/src/test/java/org/redisson/RedisClientTest.java +++ b/redisson/src/test/java/org/redisson/RedisClientTest.java @@ -43,7 +43,7 @@ public class RedisClientTest { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @BeforeClass public static void beforeClass() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedisRunner.java b/redisson/src/test/java/org/redisson/RedisRunner.java index d12d1ba97..e2de27bfd 100644 --- a/redisson/src/test/java/org/redisson/RedisRunner.java +++ b/redisson/src/test/java/org/redisson/RedisRunner.java @@ -5,6 +5,7 @@ import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.net.Inet4Address; +import java.net.ServerSocket; import java.net.URL; import java.nio.file.Paths; import java.util.ArrayList; @@ -31,6 +32,7 @@ public class RedisRunner { DAEMONIZE, PIDFILE, PORT, + RANDOM_PORT, TCP_BACKLOG, BIND(true), UNIXSOCKET, @@ -179,6 +181,7 @@ public class RedisRunner { private boolean randomDir = false; private ArrayList bindAddr = new ArrayList<>(); private int port = 6379; + private boolean randomPort = true; { this.options.put(REDIS_OPTIONS.BINARY_PATH, RedissonRuntimeEnvironment.redisBinaryPath); @@ -266,9 +269,16 @@ public class RedisRunner { public RedisRunner port(int port) { this.port = port; + this.randomPort = false; addConfigOption(REDIS_OPTIONS.PORT, port); return this; } + + public RedisRunner randomPort() { + this.randomPort = true; + options.remove(REDIS_OPTIONS.PORT); + return this; + } public int getPort() { return this.port; @@ -785,4 +795,28 @@ public class RedisRunner { public static RedisRunner.RedisProcess getDefaultRedisServerInstance() { return defaultRedisInstance; } + + private static int findFreePort() { + ServerSocket socket = null; + try { + socket = new ServerSocket(0); + socket.setReuseAddress(true); + int port = socket.getLocalPort(); + try { + socket.close(); + } catch (IOException e) { + // Ignore IOException on close() + } + return port; + } catch (IOException e) { + } finally { + if (socket != null) { + try { + socket.close(); + } catch (IOException e) { + } + } + } + throw new IllegalStateException("Could not find a free TCP/IP port to start embedded Jetty HTTP Server on"); + } } diff --git a/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java b/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java index f2d7f390a..9125006b7 100644 --- a/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java +++ b/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java @@ -23,7 +23,7 @@ public class RedissonCountDownLatchConcurrentTest { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @BeforeClass public static void beforeClass() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java index 3e6d547df..1f859e24f 100644 --- a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java @@ -23,7 +23,7 @@ public class RedissonMultiLockTest { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @Test public void testMultiThreads() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java index 9e71f298d..3b741c18e 100644 --- a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java @@ -25,7 +25,7 @@ public class RedissonRedLockTest { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @Test public void testLockFailed() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonTest.java b/redisson/src/test/java/org/redisson/RedissonTest.java index 2471cb465..39f7c2ea9 100644 --- a/redisson/src/test/java/org/redisson/RedissonTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTest.java @@ -42,7 +42,7 @@ public class RedissonTest { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); protected RedissonClient redisson; protected static RedissonClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java index e2ccc8b4d..5f8ecc78f 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java @@ -39,7 +39,7 @@ public class RedissonTopicPatternTest { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @BeforeClass public static void beforeClass() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonTopicTest.java b/redisson/src/test/java/org/redisson/RedissonTopicTest.java index e96439e8d..10c12b95f 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicTest.java @@ -45,7 +45,7 @@ public class RedissonTopicTest { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @BeforeClass public static void beforeClass() throws IOException, InterruptedException { diff --git a/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java b/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java index f58c9deae..5f0d52e58 100644 --- a/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java +++ b/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java @@ -31,7 +31,7 @@ public class RedissonTwoLockedThread { @ClassRule public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); @Rule - public static Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); @Parameterized.Parameters(name= "{index} - {0}") public static Iterable data() { From 780b58e429dbae8df8c7da132e956340d48a1946 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Wed, 14 Sep 2016 00:35:40 +0100 Subject: [PATCH 04/12] more global and local timeout for tests --- .../client/codec/JsonJacksonMapValueCodecTest.java | 9 +++++++++ .../src/test/java/org/redisson/misc/LFUCacheMapTest.java | 8 ++++++++ .../src/test/java/org/redisson/misc/LRUCacheMapTest.java | 8 ++++++++ .../test/java/org/redisson/misc/NoneCacheMapTest.java | 8 ++++++++ .../redisson/spring/cache/RedissonSpringCacheTest.java | 9 +++++++++ 5 files changed, 42 insertions(+) diff --git a/redisson/src/test/java/org/redisson/client/codec/JsonJacksonMapValueCodecTest.java b/redisson/src/test/java/org/redisson/client/codec/JsonJacksonMapValueCodecTest.java index b0d4b4ebe..632c03d22 100644 --- a/redisson/src/test/java/org/redisson/client/codec/JsonJacksonMapValueCodecTest.java +++ b/redisson/src/test/java/org/redisson/client/codec/JsonJacksonMapValueCodecTest.java @@ -13,11 +13,20 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; import static org.assertj.core.api.Assertions.assertThat; +import org.junit.ClassRule; +import org.junit.Rule; +import org.junit.rules.Timeout; public class JsonJacksonMapValueCodecTest { + @ClassRule + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + private final JsonJacksonMapValueCodec>> mapCodec = new JsonJacksonMapValueCodec>>(new TypeReference>>() { }); diff --git a/redisson/src/test/java/org/redisson/misc/LFUCacheMapTest.java b/redisson/src/test/java/org/redisson/misc/LFUCacheMapTest.java index f272cc366..37ed5578d 100644 --- a/redisson/src/test/java/org/redisson/misc/LFUCacheMapTest.java +++ b/redisson/src/test/java/org/redisson/misc/LFUCacheMapTest.java @@ -3,11 +3,19 @@ package org.redisson.misc; import static org.assertj.core.api.Assertions.assertThat; import java.util.concurrent.TimeUnit; +import org.junit.ClassRule; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.Timeout; public class LFUCacheMapTest { + @ClassRule + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + @Test public void testMaxIdleTimeEviction() throws InterruptedException { Cache map = new LFUCacheMap(2, 0, 0); diff --git a/redisson/src/test/java/org/redisson/misc/LRUCacheMapTest.java b/redisson/src/test/java/org/redisson/misc/LRUCacheMapTest.java index 530827416..b79d2ce07 100644 --- a/redisson/src/test/java/org/redisson/misc/LRUCacheMapTest.java +++ b/redisson/src/test/java/org/redisson/misc/LRUCacheMapTest.java @@ -3,11 +3,19 @@ package org.redisson.misc; import static org.assertj.core.api.Assertions.*; import java.util.concurrent.TimeUnit; +import org.junit.ClassRule; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.Timeout; public class LRUCacheMapTest { + @ClassRule + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + @Test public void testMaxIdleTimeEviction() throws InterruptedException { Cache map = new LRUCacheMap(2, 0, 0); diff --git a/redisson/src/test/java/org/redisson/misc/NoneCacheMapTest.java b/redisson/src/test/java/org/redisson/misc/NoneCacheMapTest.java index 63f5a58e8..7a56f187a 100644 --- a/redisson/src/test/java/org/redisson/misc/NoneCacheMapTest.java +++ b/redisson/src/test/java/org/redisson/misc/NoneCacheMapTest.java @@ -3,11 +3,19 @@ package org.redisson.misc; import static org.assertj.core.api.Assertions.assertThat; import java.util.concurrent.TimeUnit; +import org.junit.ClassRule; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.Timeout; public class NoneCacheMapTest { + @ClassRule + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + @Test public void testMaxIdleTimeEviction() throws InterruptedException { Cache map = new NoneCacheMap(0, 0); diff --git a/redisson/src/test/java/org/redisson/spring/cache/RedissonSpringCacheTest.java b/redisson/src/test/java/org/redisson/spring/cache/RedissonSpringCacheTest.java index 28e6b6bc5..5a27ae67f 100644 --- a/redisson/src/test/java/org/redisson/spring/cache/RedissonSpringCacheTest.java +++ b/redisson/src/test/java/org/redisson/spring/cache/RedissonSpringCacheTest.java @@ -6,9 +6,13 @@ import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; import org.junit.AfterClass; +import org.junit.ClassRule; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.Timeout; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.redisson.BaseTest; @@ -30,6 +34,11 @@ import org.springframework.stereotype.Service; @RunWith(Parameterized.class) public class RedissonSpringCacheTest { + @ClassRule + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + public static class SampleObject { private String name; From 6f7f55a8ee64ca1b50597d116a78238171c91487 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Wed, 14 Sep 2016 00:36:38 +0100 Subject: [PATCH 05/12] Redis server now runs on a random port added one more timeout --- .../src/test/java/org/redisson/BaseTest.java | 10 +-- .../java/org/redisson/RedisClientTest.java | 12 ++-- .../test/java/org/redisson/RedisRunner.java | 65 ++++++++++++++++--- .../test/java/org/redisson/RedissonTest.java | 8 +-- .../WeightedRoundRobinBalancerTest.java | 22 +++++-- 5 files changed, 86 insertions(+), 31 deletions(-) diff --git a/redisson/src/test/java/org/redisson/BaseTest.java b/redisson/src/test/java/org/redisson/BaseTest.java index 496c2b6fb..a209ac02e 100644 --- a/redisson/src/test/java/org/redisson/BaseTest.java +++ b/redisson/src/test/java/org/redisson/BaseTest.java @@ -61,15 +61,15 @@ public abstract class BaseTest { } public static Config createConfig() { - String redisAddress = System.getProperty("redisAddress"); - if (redisAddress == null) { - redisAddress = "127.0.0.1:6379"; - } +// String redisAddress = System.getProperty("redisAddress"); +// if (redisAddress == null) { +// redisAddress = "127.0.0.1:6379"; +// } Config config = new Config(); // config.setCodec(new MsgPackJacksonCodec()); // config.useSentinelServers().setMasterName("mymaster").addSentinelAddress("127.0.0.1:26379", "127.0.0.1:26389"); // config.useClusterServers().addNodeAddress("127.0.0.1:7004", "127.0.0.1:7001", "127.0.0.1:7000"); - config.useSingleServer().setAddress(redisAddress); + config.useSingleServer().setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort()); // .setPassword("mypass1"); // config.useMasterSlaveConnection() // .setMasterAddress("127.0.0.1:6379") diff --git a/redisson/src/test/java/org/redisson/RedisClientTest.java b/redisson/src/test/java/org/redisson/RedisClientTest.java index 9ec1159b0..e259e5e1e 100644 --- a/redisson/src/test/java/org/redisson/RedisClientTest.java +++ b/redisson/src/test/java/org/redisson/RedisClientTest.java @@ -75,7 +75,7 @@ public class RedisClientTest { @Test public void testConnectAsync() throws InterruptedException { - RedisClient c = new RedisClient("localhost", 6379); + RedisClient c = new RedisClient(RedisRunner.getDefaultRedisServerBindAddressAndPort()); RFuture f = c.connectAsync(); final CountDownLatch l = new CountDownLatch(1); f.addListener((FutureListener) future -> { @@ -88,7 +88,7 @@ public class RedisClientTest { @Test public void testSubscribe() throws InterruptedException { - RedisClient c = new RedisClient("localhost", 6379); + RedisClient c = new RedisClient(RedisRunner.getDefaultRedisServerBindAddressAndPort()); RedisPubSubConnection pubSubConnection = c.connectPubSub(); final CountDownLatch latch = new CountDownLatch(2); pubSubConnection.addListener(new RedisPubSubListener() { @@ -116,7 +116,7 @@ public class RedisClientTest { @Test public void test() throws InterruptedException { - RedisClient c = new RedisClient("localhost", 6379); + RedisClient c = new RedisClient(RedisRunner.getDefaultRedisServerBindAddressAndPort()); final RedisConnection conn = c.connect(); conn.sync(StringCodec.INSTANCE, RedisCommands.SET, "test", 0); @@ -138,7 +138,7 @@ public class RedisClientTest { @Test public void testPipeline() throws InterruptedException, ExecutionException { - RedisClient c = new RedisClient("localhost", 6379); + RedisClient c = new RedisClient(RedisRunner.getDefaultRedisServerBindAddressAndPort()); RedisConnection conn = c.connect(); conn.sync(StringCodec.INSTANCE, RedisCommands.SET, "test", 0); @@ -166,7 +166,7 @@ public class RedisClientTest { @Test public void testBigRequest() throws InterruptedException, ExecutionException { - RedisClient c = new RedisClient("localhost", 6379); + RedisClient c = new RedisClient(RedisRunner.getDefaultRedisServerBindAddressAndPort()); RedisConnection conn = c.connect(); for (int i = 0; i < 50; i++) { @@ -181,7 +181,7 @@ public class RedisClientTest { @Test public void testPipelineBigResponse() throws InterruptedException, ExecutionException { - RedisClient c = new RedisClient("localhost", 6379); + RedisClient c = new RedisClient(RedisRunner.getDefaultRedisServerBindAddressAndPort()); RedisConnection conn = c.connect(); List> commands = new ArrayList>(); diff --git a/redisson/src/test/java/org/redisson/RedisRunner.java b/redisson/src/test/java/org/redisson/RedisRunner.java index e2de27bfd..9ecf2e966 100644 --- a/redisson/src/test/java/org/redisson/RedisRunner.java +++ b/redisson/src/test/java/org/redisson/RedisRunner.java @@ -32,7 +32,6 @@ public class RedisRunner { DAEMONIZE, PIDFILE, PORT, - RANDOM_PORT, TCP_BACKLOG, BIND(true), UNIXSOCKET, @@ -181,7 +180,8 @@ public class RedisRunner { private boolean randomDir = false; private ArrayList bindAddr = new ArrayList<>(); private int port = 6379; - private boolean randomPort = true; + private int retryCount = Integer.MAX_VALUE; + private boolean randomPort = false; { this.options.put(REDIS_OPTIONS.BINARY_PATH, RedissonRuntimeEnvironment.redisBinaryPath); @@ -231,11 +231,31 @@ public class RedisRunner { return new RedisProcess(p, runner); } - public RedisProcess run() throws IOException, InterruptedException { + public RedisProcess run() throws IOException, InterruptedException, FailedToStartRedisException { if (!options.containsKey(REDIS_OPTIONS.DIR)) { - options.put(REDIS_OPTIONS.DIR, defaultDir); + addConfigOption(REDIS_OPTIONS.DIR, defaultDir); + } + if (randomPort) { + for (int i = 0; i < retryCount; i++) { + this.port = findFreePort(); + addConfigOption(REDIS_OPTIONS.PORT, this.port); + try { + return runAndCheck(); + } catch (FailedToStartRedisException e) { + } + } + throw new FailedToStartRedisException(); + } else { + return runAndCheck(); } - return runWithOptions(this, options.values().toArray(new String[0])); + } + + public RedisProcess runAndCheck() throws IOException, InterruptedException, FailedToStartRedisException { + RedisProcess rp = runWithOptions(this, options.values().toArray(new String[0])); + if (rp.redisProcess.waitFor(1000, TimeUnit.MILLISECONDS)) { + throw new FailedToStartRedisException(); + } + return rp; } private void addConfigOption(REDIS_OPTIONS option, Object... args) { @@ -275,7 +295,12 @@ public class RedisRunner { } public RedisRunner randomPort() { + return randomPort(Integer.MAX_VALUE); + } + + public RedisRunner randomPort(int retryCount) { this.randomPort = true; + this.retryCount = retryCount; options.remove(REDIS_OPTIONS.PORT); return this; } @@ -753,13 +778,20 @@ public class RedisRunner { } return redisVersion; } - + + public int getRedisServerPort() { + return runner.getPort(); + } + + public String getRedisServerBindAddress() { + return runner.getInitialBindAddr(); + } } - public static RedisRunner.RedisProcess startDefaultRedisServerInstance() throws IOException, InterruptedException { + public static RedisRunner.RedisProcess startDefaultRedisServerInstance() throws IOException, InterruptedException, FailedToStartRedisException { if (defaultRedisInstance == null) { System.out.println("REDIS RUNNER: Starting up default instance..."); - defaultRedisInstance = new RedisRunner().nosave().randomDir().run(); + defaultRedisInstance = new RedisRunner().nosave().randomDir().randomPort().run(); Runtime.getRuntime().addShutdownHook(new Thread(() -> { try { shutDownDefaultRedisServerInstance(); @@ -795,8 +827,14 @@ public class RedisRunner { public static RedisRunner.RedisProcess getDefaultRedisServerInstance() { return defaultRedisInstance; } + + public static String getDefaultRedisServerBindAddressAndPort() { + return defaultRedisInstance.getRedisServerBindAddress() + + ":" + + defaultRedisInstance.getRedisServerPort(); + } - private static int findFreePort() { + public static int findFreePort() { ServerSocket socket = null; try { socket = new ServerSocket(0); @@ -817,6 +855,13 @@ public class RedisRunner { } } } - throw new IllegalStateException("Could not find a free TCP/IP port to start embedded Jetty HTTP Server on"); + throw new IllegalStateException("Could not find a free TCP/IP port."); } + + public static class FailedToStartRedisException extends RuntimeException { + + private FailedToStartRedisException() { + } + } + } diff --git a/redisson/src/test/java/org/redisson/RedissonTest.java b/redisson/src/test/java/org/redisson/RedissonTest.java index 39f7c2ea9..fc1882fcf 100644 --- a/redisson/src/test/java/org/redisson/RedissonTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTest.java @@ -117,7 +117,7 @@ public class RedissonTest { @Test(expected = RedisException.class) public void testSer() { Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6379"); + config.useSingleServer().setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort()); config.setCodec(new SerializationCodec()); RedissonClient r = Redisson.create(config); r.getMap("test").put("1", new Dummy()); @@ -163,7 +163,7 @@ public class RedissonTest { public void testConfigValidation() { Config redissonConfig = new Config(); redissonConfig.useSingleServer() - .setAddress("127.0.0.1:6379") + .setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort()) .setConnectionPoolSize(2); Redisson.create(redissonConfig); } @@ -221,7 +221,7 @@ public class RedissonTest { @Test public void testShutdown() { Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6379"); + config.useSingleServer().setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort()); RedissonClient r = Redisson.create(config); Assert.assertFalse(r.isShuttingDown()); @@ -349,7 +349,7 @@ public class RedissonTest { redisConfig.useSingleServer() .setConnectionMinimumIdleSize(10000) .setConnectionPoolSize(10000) - .setAddress("localhost:6379"); + .setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort()); RedissonClient r = Redisson.create(redisConfig); r.shutdown(); } diff --git a/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java b/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java index 3af754992..ddc3e3549 100644 --- a/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java +++ b/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java @@ -7,8 +7,11 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; +import org.junit.ClassRule; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.Timeout; import org.redisson.RedisRunner; import org.redisson.RedisRunner.RedisProcess; import org.redisson.Redisson; @@ -18,24 +21,31 @@ import org.redisson.config.ReadMode; public class WeightedRoundRobinBalancerTest { + @ClassRule + public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); + @Rule + public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); + @Test public void testUseMasterForReadsIfNoConnectionsToSlaves() throws IOException, InterruptedException { RedisProcess master = null; RedisProcess slave = null; RedissonClient client = null; try { - master = redisTestInstance(6379); - slave = redisTestInstance(6380); + int mPort = RedisRunner.findFreePort(); + int sPort = RedisRunner.findFreePort(); + master = redisTestInstance(mPort); + slave = redisTestInstance(sPort); Map weights = new HashMap<>(); - weights.put("127.0.0.1:6379", 1); - weights.put("127.0.0.1:6380", 2); + weights.put("127.0.0.1:" + mPort, 1); + weights.put("127.0.0.1:" + sPort, 2); Config config = new Config(); config.useMasterSlaveServers() .setReadMode(ReadMode.SLAVE) - .setMasterAddress("127.0.0.1:6379") - .addSlaveAddress("127.0.0.1:6380") + .setMasterAddress("127.0.0.1:" + mPort) + .addSlaveAddress("127.0.0.1:" + sPort) .setLoadBalancer(new WeightedRoundRobinBalancer(weights, 1)); client = Redisson.create(config); From 1ca644b54cfa9f13fb9f75c89c38448e3b3a1f6c Mon Sep 17 00:00:00 2001 From: jackygurui Date: Wed, 14 Sep 2016 21:52:47 +0100 Subject: [PATCH 06/12] All tests now uses random port number to run redis --- .../test/java/org/redisson/RedisRunner.java | 4 ++ .../redisson/RedissonBlockingQueueTest.java | 22 +++++----- .../RedissonBoundedBlockingQueueTest.java | 22 +++++----- .../org/redisson/RedissonMultiLockTest.java | 20 ++++----- .../org/redisson/RedissonRedLockTest.java | 44 +++++++++---------- .../org/redisson/RedissonSemaphoreTest.java | 2 +- .../test/java/org/redisson/RedissonTest.java | 36 ++++++++------- .../redisson/RedissonTopicPatternTest.java | 6 +-- .../java/org/redisson/RedissonTopicTest.java | 6 +-- .../WeightedRoundRobinBalancerTest.java | 19 ++++---- 10 files changed, 94 insertions(+), 87 deletions(-) diff --git a/redisson/src/test/java/org/redisson/RedisRunner.java b/redisson/src/test/java/org/redisson/RedisRunner.java index 9ecf2e966..9d0acd62b 100644 --- a/redisson/src/test/java/org/redisson/RedisRunner.java +++ b/redisson/src/test/java/org/redisson/RedisRunner.java @@ -786,6 +786,10 @@ public class RedisRunner { public String getRedisServerBindAddress() { return runner.getInitialBindAddr(); } + + public String getRedisServerAddressAndPort() { + return getRedisServerBindAddress() + ":" + getRedisServerPort(); + } } public static RedisRunner.RedisProcess startDefaultRedisServerInstance() throws IOException, InterruptedException, FailedToStartRedisException { diff --git a/redisson/src/test/java/org/redisson/RedissonBlockingQueueTest.java b/redisson/src/test/java/org/redisson/RedissonBlockingQueueTest.java index 32f29757a..76b0d31cc 100644 --- a/redisson/src/test/java/org/redisson/RedissonBlockingQueueTest.java +++ b/redisson/src/test/java/org/redisson/RedissonBlockingQueueTest.java @@ -31,13 +31,13 @@ public class RedissonBlockingQueueTest extends BaseTest { @Test public void testPollWithBrokenConnection() throws IOException, InterruptedException, ExecutionException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); final RBlockingQueue queue1 = redisson.getBlockingQueue("queue:pollTimeout"); RFuture f = queue1.pollAsync(5, TimeUnit.SECONDS); @@ -53,13 +53,13 @@ public class RedissonBlockingQueueTest extends BaseTest { @Test public void testPollReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); final AtomicBoolean executed = new AtomicBoolean(); @@ -85,7 +85,7 @@ public class RedissonBlockingQueueTest extends BaseTest { runner.stop(); runner = new RedisRunner() - .port(6319) + .port(runner.getRedisServerPort()) .nosave() .randomDir() .run(); @@ -105,13 +105,13 @@ public class RedissonBlockingQueueTest extends BaseTest { @Test public void testPollAsyncReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); RBlockingQueue queue1 = redisson.getBlockingQueue("queue:pollany"); @@ -120,7 +120,7 @@ public class RedissonBlockingQueueTest extends BaseTest { runner.stop(); runner = new RedisRunner() - .port(6319) + .port(runner.getRedisServerPort()) .nosave() .randomDir() .run(); @@ -141,13 +141,13 @@ public class RedissonBlockingQueueTest extends BaseTest { @Test public void testTakeReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); RBlockingQueue queue1 = redisson.getBlockingQueue("testTakeReattach"); RFuture f = queue1.takeAsync(); @@ -155,7 +155,7 @@ public class RedissonBlockingQueueTest extends BaseTest { runner.stop(); runner = new RedisRunner() - .port(6319) + .port(runner.getRedisServerPort()) .nosave() .randomDir() .run(); diff --git a/redisson/src/test/java/org/redisson/RedissonBoundedBlockingQueueTest.java b/redisson/src/test/java/org/redisson/RedissonBoundedBlockingQueueTest.java index 628362b11..98fa90437 100644 --- a/redisson/src/test/java/org/redisson/RedissonBoundedBlockingQueueTest.java +++ b/redisson/src/test/java/org/redisson/RedissonBoundedBlockingQueueTest.java @@ -220,13 +220,13 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest { @Test public void testPollWithBrokenConnection() throws IOException, InterruptedException, ExecutionException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); final RBoundedBlockingQueue queue1 = redisson.getBoundedBlockingQueue("bounded-queue:pollTimeout"); assertThat(queue1.trySetCapacity(5)).isTrue(); @@ -243,13 +243,13 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest { @Test public void testPollReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); redisson.getKeys().flushall(); @@ -277,7 +277,7 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest { runner.stop(); runner = new RedisRunner() - .port(6319) + .port(runner.getRedisServerPort()) .nosave() .randomDir() .run(); @@ -298,13 +298,13 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest { @Test public void testPollAsyncReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); RBoundedBlockingQueue queue1 = redisson.getBoundedBlockingQueue("queue:pollany"); @@ -313,7 +313,7 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest { runner.stop(); runner = new RedisRunner() - .port(6319) + .port(runner.getRedisServerPort()) .nosave() .randomDir() .run(); @@ -335,13 +335,13 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest { @Test public void testTakeReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); redisson.getKeys().flushall(); @@ -352,7 +352,7 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest { runner.stop(); runner = new RedisRunner() - .port(6319) + .port(runner.getRedisServerPort()) .nosave() .randomDir() .run(); diff --git a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java index 1f859e24f..d4b6e72ae 100644 --- a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java @@ -27,10 +27,10 @@ public class RedissonMultiLockTest { @Test public void testMultiThreads() throws IOException, InterruptedException { - RedisProcess redis1 = redisTestMultilockInstance(6320); + RedisProcess redis1 = redisTestMultilockInstance(); Config config1 = new Config(); - config1.useSingleServer().setAddress("127.0.0.1:6320"); + config1.useSingleServer().setAddress(redis1.getRedisServerAddressAndPort()); RedissonClient client = Redisson.create(config1); RLock lock1 = client.getLock("lock1"); @@ -62,15 +62,15 @@ public class RedissonMultiLockTest { @Test public void test() throws IOException, InterruptedException { - RedisProcess redis1 = redisTestMultilockInstance(6320); - RedisProcess redis2 = redisTestMultilockInstance(6321); - RedisProcess redis3 = redisTestMultilockInstance(6322); + RedisProcess redis1 = redisTestMultilockInstance(); + RedisProcess redis2 = redisTestMultilockInstance(); + RedisProcess redis3 = redisTestMultilockInstance(); NioEventLoopGroup group = new NioEventLoopGroup(); - RedissonClient client1 = createClient(group, "127.0.0.1:6320"); - RedissonClient client2 = createClient(group, "127.0.0.1:6321"); - RedissonClient client3 = createClient(group, "127.0.0.1:6322"); + RedissonClient client1 = createClient(group, redis1.getRedisServerAddressAndPort()); + RedissonClient client2 = createClient(group, redis2.getRedisServerAddressAndPort()); + RedissonClient client3 = createClient(group, redis3.getRedisServerAddressAndPort()); final RLock lock1 = client1.getLock("lock1"); final RLock lock2 = client2.getLock("lock2"); @@ -117,11 +117,11 @@ public class RedissonMultiLockTest { return client1; } - private RedisProcess redisTestMultilockInstance(int port) throws IOException, InterruptedException { + private RedisProcess redisTestMultilockInstance() throws IOException, InterruptedException { return new RedisRunner() .nosave() .randomDir() - .port(port) + .randomPort() .run(); } diff --git a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java index 3b741c18e..a36f04d3e 100644 --- a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java @@ -29,11 +29,11 @@ public class RedissonRedLockTest { @Test public void testLockFailed() throws IOException, InterruptedException { - RedisProcess redis1 = redisTestMultilockInstance(6320); - RedisProcess redis2 = redisTestMultilockInstance(6321); + RedisProcess redis1 = redisTestMultilockInstance(); + RedisProcess redis2 = redisTestMultilockInstance(); - RedissonClient client1 = createClient("127.0.0.1:6320"); - RedissonClient client2 = createClient("127.0.0.1:6321"); + RedissonClient client1 = createClient(redis1.getRedisServerAddressAndPort()); + RedissonClient client2 = createClient(redis2.getRedisServerAddressAndPort()); RLock lock1 = client1.getLock("lock1"); RLock lock2 = client1.getLock("lock2"); @@ -67,11 +67,11 @@ public class RedissonRedLockTest { @Test public void testLockSuccess() throws IOException, InterruptedException { - RedisProcess redis1 = redisTestMultilockInstance(6320); - RedisProcess redis2 = redisTestMultilockInstance(6321); + RedisProcess redis1 = redisTestMultilockInstance(); + RedisProcess redis2 = redisTestMultilockInstance(); - RedissonClient client1 = createClient("127.0.0.1:6320"); - RedissonClient client2 = createClient("127.0.0.1:6321"); + RedissonClient client1 = createClient(redis1.getRedisServerAddressAndPort()); + RedissonClient client2 = createClient(redis2.getRedisServerAddressAndPort()); RLock lock1 = client1.getLock("lock1"); RLock lock2 = client1.getLock("lock2"); @@ -113,11 +113,11 @@ public class RedissonRedLockTest { @Test public void testConnectionFailed() throws IOException, InterruptedException { - RedisProcess redis1 = redisTestMultilockInstance(6320); - RedisProcess redis2 = redisTestMultilockInstance(6321); + RedisProcess redis1 = redisTestMultilockInstance(); + RedisProcess redis2 = redisTestMultilockInstance(); - RedissonClient client1 = createClient("127.0.0.1:6320"); - RedissonClient client2 = createClient("127.0.0.1:6321"); + RedissonClient client1 = createClient(redis1.getRedisServerAddressAndPort()); + RedissonClient client2 = createClient(redis2.getRedisServerAddressAndPort()); RLock lock1 = client1.getLock("lock1"); RLock lock2 = client1.getLock("lock2"); @@ -150,10 +150,10 @@ public class RedissonRedLockTest { // @Test public void testMultiThreads() throws IOException, InterruptedException { - RedisProcess redis1 = redisTestMultilockInstance(6320); + RedisProcess redis1 = redisTestMultilockInstance(); Config config1 = new Config(); - config1.useSingleServer().setAddress("127.0.0.1:6320"); + config1.useSingleServer().setAddress(redis1.getRedisServerAddressAndPort()); RedissonClient client = Redisson.create(config1); RLock lock1 = client.getLock("lock1"); @@ -185,15 +185,15 @@ public class RedissonRedLockTest { // @Test public void test() throws IOException, InterruptedException { - RedisProcess redis1 = redisTestMultilockInstance(6320); - RedisProcess redis2 = redisTestMultilockInstance(6321); - RedisProcess redis3 = redisTestMultilockInstance(6322); + RedisProcess redis1 = redisTestMultilockInstance(); + RedisProcess redis2 = redisTestMultilockInstance(); + RedisProcess redis3 = redisTestMultilockInstance(); NioEventLoopGroup group = new NioEventLoopGroup(); - RedissonClient client1 = createClient(group, "127.0.0.1:6320"); - RedissonClient client2 = createClient(group, "127.0.0.1:6321"); - RedissonClient client3 = createClient(group, "127.0.0.1:6322"); + RedissonClient client1 = createClient(group, redis1.getRedisServerAddressAndPort()); + RedissonClient client2 = createClient(group, redis2.getRedisServerAddressAndPort()); + RedissonClient client3 = createClient(group, redis3.getRedisServerAddressAndPort()); final RLock lock1 = client1.getLock("lock1"); final RLock lock2 = client2.getLock("lock2"); @@ -240,11 +240,11 @@ public class RedissonRedLockTest { return client1; } - private RedisProcess redisTestMultilockInstance(int port) throws IOException, InterruptedException { + private RedisProcess redisTestMultilockInstance() throws IOException, InterruptedException { return new RedisRunner() .nosave() .randomDir() - .port(port) + .randomPort() .run(); } diff --git a/redisson/src/test/java/org/redisson/RedissonSemaphoreTest.java b/redisson/src/test/java/org/redisson/RedissonSemaphoreTest.java index dfccf562f..8b0367d88 100644 --- a/redisson/src/test/java/org/redisson/RedissonSemaphoreTest.java +++ b/redisson/src/test/java/org/redisson/RedissonSemaphoreTest.java @@ -249,7 +249,7 @@ public class RedissonSemaphoreTest extends BaseConcurrentTest { @Test public void testConcurrency_MultiInstance_10_permits() throws InterruptedException { - Assume.assumeFalse(Boolean.valueOf(System.getProperty("travisEnv"))); + Assume.assumeFalse(RedissonRuntimeEnvironment.isTravis); int iterations = 100; final AtomicInteger lockedCounter = new AtomicInteger(); diff --git a/redisson/src/test/java/org/redisson/RedissonTest.java b/redisson/src/test/java/org/redisson/RedissonTest.java index fc1882fcf..d2b338dec 100644 --- a/redisson/src/test/java/org/redisson/RedissonTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTest.java @@ -128,7 +128,7 @@ public class RedissonTest { RedisProcess p = redisTestSmallMemory(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319").setTimeout(100000); + config.useSingleServer().setAddress(p.getRedisServerAddressAndPort()).setTimeout(100000); try { RedissonClient r = Redisson.create(config); @@ -146,7 +146,7 @@ public class RedissonTest { RedisProcess p = redisTestSmallMemory(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319").setTimeout(100000); + config.useSingleServer().setAddress(p.getRedisServerAddressAndPort()).setTimeout(100000); try { RedissonClient r = Redisson.create(config); @@ -171,13 +171,13 @@ public class RedissonTest { @Test public void testConnectionListener() throws IOException, InterruptedException, TimeoutException { - RedisProcess p = redisTestConnection(); + final RedisProcess p = redisTestConnection(); final AtomicInteger connectCounter = new AtomicInteger(); final AtomicInteger disconnectCounter = new AtomicInteger(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(p.getRedisServerAddressAndPort()); RedissonClient r = Redisson.create(config); @@ -185,13 +185,13 @@ public class RedissonTest { @Override public void onDisconnect(InetSocketAddress addr) { - assertThat(addr).isEqualTo(new InetSocketAddress("127.0.0.1", 6319)); + assertThat(addr).isEqualTo(new InetSocketAddress(p.getRedisServerBindAddress(), p.getRedisServerPort())); disconnectCounter.incrementAndGet(); } @Override public void onConnect(InetSocketAddress addr) { - assertThat(addr).isEqualTo(new InetSocketAddress("127.0.0.1", 6319)); + assertThat(addr).isEqualTo(new InetSocketAddress(p.getRedisServerBindAddress(), p.getRedisServerPort())); connectCounter.incrementAndGet(); } }); @@ -206,13 +206,17 @@ public class RedissonTest { } catch (Exception e) { } - p = redisTestConnection(); + RedisProcess pp = new RedisRunner() + .nosave() + .port(p.getRedisServerPort()) + .randomDir() + .run(); r.getBucket("1").get(); r.shutdown(); - Assert.assertEquals(0, p.stop()); + Assert.assertEquals(0, pp.stop()); await().atMost(1, TimeUnit.SECONDS).until(() -> assertThat(connectCounter.get()).isEqualTo(1)); await().until(() -> assertThat(disconnectCounter.get()).isEqualTo(1)); @@ -300,7 +304,7 @@ public class RedissonTest { @Test(expected = RedisConnectionException.class) public void testSingleConnectionFail() throws InterruptedException { Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:1111"); + config.useSingleServer().setAddress("127.99.0.1:1111"); Redisson.create(config); Thread.sleep(1500); @@ -309,7 +313,7 @@ public class RedissonTest { @Test(expected = RedisConnectionException.class) public void testClusterConnectionFail() throws InterruptedException { Config config = new Config(); - config.useClusterServers().addNodeAddress("127.0.0.1:1111"); + config.useClusterServers().addNodeAddress("127.99.0.1:1111"); Redisson.create(config); Thread.sleep(1500); @@ -318,7 +322,7 @@ public class RedissonTest { @Test(expected = RedisConnectionException.class) public void testElasticacheConnectionFail() throws InterruptedException { Config config = new Config(); - config.useElasticacheServers().addNodeAddress("127.0.0.1:1111"); + config.useElasticacheServers().addNodeAddress("127.99.0.1:1111"); Redisson.create(config); Thread.sleep(1500); @@ -327,7 +331,7 @@ public class RedissonTest { @Test(expected = RedisConnectionException.class) public void testMasterSlaveConnectionFail() throws InterruptedException { Config config = new Config(); - config.useMasterSlaveServers().setMasterAddress("127.0.0.1:1111"); + config.useMasterSlaveServers().setMasterAddress("127.99.0.1:1111"); Redisson.create(config); Thread.sleep(1500); @@ -336,7 +340,7 @@ public class RedissonTest { @Test(expected = RedisConnectionException.class) public void testSentinelConnectionFail() throws InterruptedException { Config config = new Config(); - config.useSentinelServers().addSentinelAddress("127.0.0.1:1111"); + config.useSentinelServers().addSentinelAddress("127.99.0.1:1111"); Redisson.create(config); Thread.sleep(1500); @@ -344,7 +348,7 @@ public class RedissonTest { @Test public void testManyConnections() { - Assume.assumeFalse(Boolean.valueOf(System.getProperty("travisEnv"))); + Assume.assumeFalse(RedissonRuntimeEnvironment.isTravis); Config redisConfig = new Config(); redisConfig.useSingleServer() .setConnectionMinimumIdleSize(10000) @@ -359,7 +363,7 @@ public class RedissonTest { .maxmemory("1mb") .nosave() .randomDir() - .port(6319) + .randomPort() .run(); } @@ -367,7 +371,7 @@ public class RedissonTest { return new RedisRunner() .nosave() .randomDir() - .port(6319) + .randomPort() .run(); } diff --git a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java index 5f8ecc78f..140f57d6a 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java @@ -280,13 +280,13 @@ public class RedissonTopicPatternTest { @Test public void testReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); final AtomicBoolean executed = new AtomicBoolean(); @@ -304,7 +304,7 @@ public class RedissonTopicPatternTest { runner.stop(); runner = new RedisRunner() - .port(6319) + .port(runner.getRedisServerPort()) .nosave() .randomDir() .run(); diff --git a/redisson/src/test/java/org/redisson/RedissonTopicTest.java b/redisson/src/test/java/org/redisson/RedissonTopicTest.java index 10c12b95f..f42a0b991 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicTest.java @@ -435,13 +435,13 @@ public class RedissonTopicTest { @Test public void testReattach() throws InterruptedException, IOException, ExecutionException, TimeoutException { RedisProcess runner = new RedisRunner() - .port(6319) .nosave() .randomDir() + .randomPort() .run(); Config config = new Config(); - config.useSingleServer().setAddress("127.0.0.1:6319"); + config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort()); RedissonClient redisson = Redisson.create(config); final AtomicBoolean executed = new AtomicBoolean(); @@ -459,7 +459,7 @@ public class RedissonTopicTest { runner.stop(); runner = new RedisRunner() - .port(6319) + .port(runner.getRedisServerPort()) .nosave() .randomDir() .run(); diff --git a/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java b/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java index ddc3e3549..13bd2f886 100644 --- a/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java +++ b/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java @@ -32,20 +32,18 @@ public class WeightedRoundRobinBalancerTest { RedisProcess slave = null; RedissonClient client = null; try { - int mPort = RedisRunner.findFreePort(); - int sPort = RedisRunner.findFreePort(); - master = redisTestInstance(mPort); - slave = redisTestInstance(sPort); + master = redisTestInstance(); + slave = redisTestInstance(); Map weights = new HashMap<>(); - weights.put("127.0.0.1:" + mPort, 1); - weights.put("127.0.0.1:" + sPort, 2); + weights.put(master.getRedisServerAddressAndPort(), 1); + weights.put(slave.getRedisServerAddressAndPort(), 2); Config config = new Config(); config.useMasterSlaveServers() .setReadMode(ReadMode.SLAVE) - .setMasterAddress("127.0.0.1:" + mPort) - .addSlaveAddress("127.0.0.1:" + sPort) + .setMasterAddress(master.getRedisServerAddressAndPort()) + .addSlaveAddress(slave.getRedisServerAddressAndPort()) .setLoadBalancer(new WeightedRoundRobinBalancer(weights, 1)); client = Redisson.create(config); @@ -70,10 +68,11 @@ public class WeightedRoundRobinBalancerTest { } } - private RedisProcess redisTestInstance(int port) throws IOException, InterruptedException { + private RedisProcess redisTestInstance() throws IOException, InterruptedException { return new RedisRunner() .nosave() .randomDir() - .port(port).run(); + .randomPort() + .run(); } } From 22c90d4555db71e05d67292f2dd646cc87cf6865 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Wed, 14 Sep 2016 21:53:04 +0100 Subject: [PATCH 07/12] fixed a test bug --- .../test/java/org/redisson/RedissonMapCacheReactiveTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redisson/src/test/java/org/redisson/RedissonMapCacheReactiveTest.java b/redisson/src/test/java/org/redisson/RedissonMapCacheReactiveTest.java index cea260f87..d366c993e 100644 --- a/redisson/src/test/java/org/redisson/RedissonMapCacheReactiveTest.java +++ b/redisson/src/test/java/org/redisson/RedissonMapCacheReactiveTest.java @@ -373,9 +373,9 @@ public class RedissonMapCacheReactiveTest extends BaseReactiveTest { @Test public void testEmptyRemove() { RMapCacheReactive map = redisson.getMapCache("simple"); - assertThat(sync(map.remove(1, 3))).isEqualTo(0); + assertThat(sync(map.remove(1, 3))).isEqualTo(Boolean.FALSE); sync(map.put(4, 5)); - assertThat(sync(map.remove(4, 5))).isEqualTo(1); + assertThat(sync(map.remove(4, 5))).isEqualTo(Boolean.TRUE); } @Test From 24a66e717d63c6645d8b2b5cb5b9fa971c03abd8 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Wed, 14 Sep 2016 22:37:56 +0100 Subject: [PATCH 08/12] fixed node test can't run with travisEnv flag on --- .../executor/RedissonExecutorServiceTest.java | 48 +++++++++++++++---- .../RedissonScheduledExecutorServiceTest.java | 47 ++++++++++++++---- 2 files changed, 75 insertions(+), 20 deletions(-) diff --git a/redisson/src/test/java/org/redisson/executor/RedissonExecutorServiceTest.java b/redisson/src/test/java/org/redisson/executor/RedissonExecutorServiceTest.java index 000745a35..39e32cfd4 100644 --- a/redisson/src/test/java/org/redisson/executor/RedissonExecutorServiceTest.java +++ b/redisson/src/test/java/org/redisson/executor/RedissonExecutorServiceTest.java @@ -14,12 +14,16 @@ import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import org.junit.After; import org.junit.AfterClass; +import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.redisson.BaseTest; +import static org.redisson.BaseTest.createConfig; import org.redisson.RedissonNode; +import org.redisson.RedissonRuntimeEnvironment; import org.redisson.api.RExecutorService; import org.redisson.api.RScheduledExecutorService; import org.redisson.config.Config; @@ -31,22 +35,46 @@ public class RedissonExecutorServiceTest extends BaseTest { @BeforeClass public static void beforeClass() throws IOException, InterruptedException { - BaseTest.beforeClass(); - - Config config = createConfig(); - RedissonNodeConfig nodeConfig = new RedissonNodeConfig(config); - nodeConfig.setExecutorServiceWorkers(Collections.singletonMap("test", 1)); - node = RedissonNode.create(nodeConfig); - node.start(); + if (!RedissonRuntimeEnvironment.isTravis) { + BaseTest.beforeClass(); + Config config = createConfig(); + RedissonNodeConfig nodeConfig = new RedissonNodeConfig(config); + nodeConfig.setExecutorServiceWorkers(Collections.singletonMap("test", 1)); + node = RedissonNode.create(nodeConfig); + node.start(); + } } @AfterClass public static void afterClass() throws IOException, InterruptedException { - BaseTest.afterClass(); - - node.shutdown(); + if (!RedissonRuntimeEnvironment.isTravis) { + BaseTest.afterClass(); + node.shutdown(); + } } + @Before + @Override + public void before() throws IOException, InterruptedException { + if (RedissonRuntimeEnvironment.isTravis) { + super.before(); + Config config = createConfig(); + RedissonNodeConfig nodeConfig = new RedissonNodeConfig(config); + nodeConfig.setExecutorServiceWorkers(Collections.singletonMap("test", 1)); + node = RedissonNode.create(nodeConfig); + node.start(); + } + } + + @After + @Override + public void after() throws InterruptedException { + if (RedissonRuntimeEnvironment.isTravis) { + super.after(); + node.shutdown(); + } + } + private void cancel(ScheduledFuture future1) throws InterruptedException, ExecutionException { assertThat(future1.cancel(true)).isTrue(); boolean canceled = false; diff --git a/redisson/src/test/java/org/redisson/executor/RedissonScheduledExecutorServiceTest.java b/redisson/src/test/java/org/redisson/executor/RedissonScheduledExecutorServiceTest.java index 64b1f129b..f6cac1fa0 100644 --- a/redisson/src/test/java/org/redisson/executor/RedissonScheduledExecutorServiceTest.java +++ b/redisson/src/test/java/org/redisson/executor/RedissonScheduledExecutorServiceTest.java @@ -8,13 +8,16 @@ import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; +import org.junit.After; import org.junit.AfterClass; +import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.redisson.BaseTest; import org.redisson.CronSchedule; import org.redisson.RedissonNode; +import org.redisson.RedissonRuntimeEnvironment; import org.redisson.api.RScheduledExecutorService; import org.redisson.api.RScheduledFuture; import org.redisson.config.Config; @@ -26,20 +29,44 @@ public class RedissonScheduledExecutorServiceTest extends BaseTest { @BeforeClass public static void beforeClass() throws IOException, InterruptedException { - BaseTest.beforeClass(); - - Config config = createConfig(); - RedissonNodeConfig nodeConfig = new RedissonNodeConfig(config); - nodeConfig.setExecutorServiceWorkers(Collections.singletonMap("test", 1)); - node = RedissonNode.create(nodeConfig); - node.start(); + if (!RedissonRuntimeEnvironment.isTravis) { + BaseTest.beforeClass(); + Config config = createConfig(); + RedissonNodeConfig nodeConfig = new RedissonNodeConfig(config); + nodeConfig.setExecutorServiceWorkers(Collections.singletonMap("test", 1)); + node = RedissonNode.create(nodeConfig); + node.start(); + } } @AfterClass public static void afterClass() throws IOException, InterruptedException { - BaseTest.afterClass(); - - node.shutdown(); + if (!RedissonRuntimeEnvironment.isTravis) { + BaseTest.afterClass(); + node.shutdown(); + } + } + + @Before + @Override + public void before() throws IOException, InterruptedException { + if (RedissonRuntimeEnvironment.isTravis) { + super.before(); + Config config = createConfig(); + RedissonNodeConfig nodeConfig = new RedissonNodeConfig(config); + nodeConfig.setExecutorServiceWorkers(Collections.singletonMap("test", 1)); + node = RedissonNode.create(nodeConfig); + node.start(); + } + } + + @After + @Override + public void after() throws InterruptedException { + if (RedissonRuntimeEnvironment.isTravis) { + super.after(); + node.shutdown(); + } } @Test From e1c3773eefa5bd473cfce41d5d4336ea8ef7a5e1 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Wed, 14 Sep 2016 23:17:42 +0100 Subject: [PATCH 09/12] Timeout adjustments to run tests on a small instance --- redisson/src/main/java/org/redisson/client/RedisClient.java | 4 ++++ redisson/src/test/java/org/redisson/BaseTest.java | 5 ++++- redisson/src/test/java/org/redisson/RedisClientTest.java | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/redisson/src/main/java/org/redisson/client/RedisClient.java b/redisson/src/main/java/org/redisson/client/RedisClient.java index 5cdfbd0ae..d5cc83245 100644 --- a/redisson/src/main/java/org/redisson/client/RedisClient.java +++ b/redisson/src/main/java/org/redisson/client/RedisClient.java @@ -86,6 +86,10 @@ public class RedisClient { public RedisClient(Timer timer, EventLoopGroup group, String host, int port) { this(timer, group, NioSocketChannel.class, host, port, 10000, 10000); } + + public RedisClient(String host, int port, int connectTimeout, int commandTimeout) { + this(new HashedWheelTimer(), new NioEventLoopGroup(), NioSocketChannel.class, host, port, connectTimeout, commandTimeout); + } public RedisClient(final Timer timer, EventLoopGroup group, Class socketChannelClass, String host, int port, int connectTimeout, int commandTimeout) { diff --git a/redisson/src/test/java/org/redisson/BaseTest.java b/redisson/src/test/java/org/redisson/BaseTest.java index a209ac02e..b4b34e394 100644 --- a/redisson/src/test/java/org/redisson/BaseTest.java +++ b/redisson/src/test/java/org/redisson/BaseTest.java @@ -69,7 +69,10 @@ public abstract class BaseTest { // config.setCodec(new MsgPackJacksonCodec()); // config.useSentinelServers().setMasterName("mymaster").addSentinelAddress("127.0.0.1:26379", "127.0.0.1:26389"); // config.useClusterServers().addNodeAddress("127.0.0.1:7004", "127.0.0.1:7001", "127.0.0.1:7000"); - config.useSingleServer().setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort()); + config.useSingleServer() + .setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort()) + .setConnectTimeout(1000000) + .setTimeout(1000000); // .setPassword("mypass1"); // config.useMasterSlaveConnection() // .setMasterAddress("127.0.0.1:6379") diff --git a/redisson/src/test/java/org/redisson/RedisClientTest.java b/redisson/src/test/java/org/redisson/RedisClientTest.java index e259e5e1e..9128b83e9 100644 --- a/redisson/src/test/java/org/redisson/RedisClientTest.java +++ b/redisson/src/test/java/org/redisson/RedisClientTest.java @@ -116,7 +116,9 @@ public class RedisClientTest { @Test public void test() throws InterruptedException { - RedisClient c = new RedisClient(RedisRunner.getDefaultRedisServerBindAddressAndPort()); + RedisClient c = new RedisClient(RedisRunner.getDefaultRedisServerInstance().getRedisServerBindAddress(), + RedisRunner.getDefaultRedisServerInstance().getRedisServerPort(), + 1000000, 1000000); final RedisConnection conn = c.connect(); conn.sync(StringCodec.INSTANCE, RedisCommands.SET, "test", 0); From bacbb3f07133e0632af512fb8a491529896fe0ff Mon Sep 17 00:00:00 2001 From: jackygurui Date: Wed, 14 Sep 2016 23:27:57 +0100 Subject: [PATCH 10/12] to figure out where it is stuck --- redisson/src/test/java/org/redisson/RedissonTopicTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/redisson/src/test/java/org/redisson/RedissonTopicTest.java b/redisson/src/test/java/org/redisson/RedissonTopicTest.java index f42a0b991..39b91fbf8 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicTest.java @@ -233,7 +233,9 @@ public class RedissonTopicTest { CountDownLatch latch = new CountDownLatch(1); topic.addListener((channel, msg) -> { for (int j = 0; j < 1000; j++) { + System.out.println("start: " + j); redissonSet.contains("" + j); + System.out.println("end: " + j); } latch.countDown(); }); From f7ab74c5749d947da5175d4868b9960e87c00927 Mon Sep 17 00:00:00 2001 From: Rui Gu Date: Thu, 15 Sep 2016 11:14:33 +0100 Subject: [PATCH 11/12] set default thread to 10 for base test --- redisson/src/test/java/org/redisson/BaseTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/redisson/src/test/java/org/redisson/BaseTest.java b/redisson/src/test/java/org/redisson/BaseTest.java index b4b34e394..00ba05e82 100644 --- a/redisson/src/test/java/org/redisson/BaseTest.java +++ b/redisson/src/test/java/org/redisson/BaseTest.java @@ -73,6 +73,7 @@ public abstract class BaseTest { .setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort()) .setConnectTimeout(1000000) .setTimeout(1000000); + config.setThreads(10); // .setPassword("mypass1"); // config.useMasterSlaveConnection() // .setMasterAddress("127.0.0.1:6379") From fd1fe5dc8d553e64a15e647e93b0d4df42046c47 Mon Sep 17 00:00:00 2001 From: jackygurui Date: Thu, 15 Sep 2016 22:28:00 +0100 Subject: [PATCH 12/12] Removed timeouts as discussed with @mrniko --- .../src/test/java/org/redisson/BaseReactiveTest.java | 9 --------- redisson/src/test/java/org/redisson/BaseTest.java | 10 ---------- .../src/test/java/org/redisson/RedisClientTest.java | 9 --------- .../redisson/RedissonCountDownLatchConcurrentTest.java | 8 -------- .../test/java/org/redisson/RedissonMultiLockTest.java | 8 -------- .../test/java/org/redisson/RedissonRedLockTest.java | 8 -------- redisson/src/test/java/org/redisson/RedissonTest.java | 9 --------- .../java/org/redisson/RedissonTopicPatternTest.java | 10 ---------- .../src/test/java/org/redisson/RedissonTopicTest.java | 9 --------- .../java/org/redisson/RedissonTwoLockedThread.java | 9 --------- .../client/codec/JsonJacksonMapValueCodecTest.java | 9 --------- .../balancer/WeightedRoundRobinBalancerTest.java | 10 ---------- .../test/java/org/redisson/misc/LFUCacheMapTest.java | 8 -------- .../test/java/org/redisson/misc/LRUCacheMapTest.java | 8 -------- .../test/java/org/redisson/misc/NoneCacheMapTest.java | 8 -------- .../redisson/spring/cache/RedissonSpringCacheTest.java | 9 --------- 16 files changed, 141 deletions(-) diff --git a/redisson/src/test/java/org/redisson/BaseReactiveTest.java b/redisson/src/test/java/org/redisson/BaseReactiveTest.java index 1cba67283..e6c443dbe 100644 --- a/redisson/src/test/java/org/redisson/BaseReactiveTest.java +++ b/redisson/src/test/java/org/redisson/BaseReactiveTest.java @@ -2,15 +2,11 @@ package org.redisson; import java.io.IOException; import java.util.Iterator; -import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.rules.Timeout; import org.reactivestreams.Publisher; import org.redisson.api.RCollectionReactive; import org.redisson.api.RScoredSortedSetReactive; @@ -22,11 +18,6 @@ import reactor.rx.Streams; public abstract class BaseReactiveTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - protected RedissonReactiveClient redisson; protected static RedissonReactiveClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/BaseTest.java b/redisson/src/test/java/org/redisson/BaseTest.java index 00ba05e82..aab0677c1 100644 --- a/redisson/src/test/java/org/redisson/BaseTest.java +++ b/redisson/src/test/java/org/redisson/BaseTest.java @@ -1,25 +1,15 @@ package org.redisson; import java.io.IOException; -import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.rules.Timeout; import org.redisson.api.RedissonClient; -import org.redisson.codec.MsgPackJacksonCodec; import org.redisson.config.Config; public abstract class BaseTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - protected RedissonClient redisson; protected static RedissonClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/RedisClientTest.java b/redisson/src/test/java/org/redisson/RedisClientTest.java index 9128b83e9..93bf37600 100644 --- a/redisson/src/test/java/org/redisson/RedisClientTest.java +++ b/redisson/src/test/java/org/redisson/RedisClientTest.java @@ -33,18 +33,9 @@ import org.redisson.misc.RPromise; import org.redisson.misc.RedissonPromise; import io.netty.util.concurrent.FutureListener; -import io.netty.util.concurrent.ImmediateEventExecutor; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.rules.Timeout; public class RedisClientTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @BeforeClass public static void beforeClass() throws IOException, InterruptedException { if (!RedissonRuntimeEnvironment.isTravis) { diff --git a/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java b/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java index 9125006b7..5476862fc 100644 --- a/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java +++ b/redisson/src/test/java/org/redisson/RedissonCountDownLatchConcurrentTest.java @@ -11,20 +11,12 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.Timeout; import org.redisson.api.RCountDownLatch; import org.redisson.api.RedissonClient; public class RedissonCountDownLatchConcurrentTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @BeforeClass public static void beforeClass() throws IOException, InterruptedException { if (!RedissonRuntimeEnvironment.isTravis) { diff --git a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java index d4b6e72ae..8ea0b42af 100644 --- a/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonMultiLockTest.java @@ -14,17 +14,9 @@ import org.redisson.config.Config; import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.rules.Timeout; public class RedissonMultiLockTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @Test public void testMultiThreads() throws IOException, InterruptedException { RedisProcess redis1 = redisTestMultilockInstance(); diff --git a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java index a36f04d3e..bb2d76e44 100644 --- a/redisson/src/test/java/org/redisson/RedissonRedLockTest.java +++ b/redisson/src/test/java/org/redisson/RedissonRedLockTest.java @@ -16,17 +16,9 @@ import org.redisson.config.Config; import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.rules.Timeout; public class RedissonRedLockTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @Test public void testLockFailed() throws IOException, InterruptedException { RedisProcess redis1 = redisTestMultilockInstance(); diff --git a/redisson/src/test/java/org/redisson/RedissonTest.java b/redisson/src/test/java/org/redisson/RedissonTest.java index d2b338dec..29c116219 100644 --- a/redisson/src/test/java/org/redisson/RedissonTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTest.java @@ -24,7 +24,6 @@ import org.redisson.api.RedissonClient; import org.redisson.client.RedisConnectionException; import org.redisson.client.RedisException; import org.redisson.client.RedisOutOfMemoryException; -import org.redisson.client.WriteRedisConnectionException; import org.redisson.client.protocol.decoder.ListScanResult; import org.redisson.codec.SerializationCodec; import org.redisson.config.Config; @@ -32,18 +31,10 @@ import org.redisson.connection.ConnectionListener; import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.rules.Timeout; import static org.redisson.BaseTest.createInstance; public class RedissonTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - protected RedissonClient redisson; protected static RedissonClient defaultRedisson; diff --git a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java index 140f57d6a..65533b905 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicPatternTest.java @@ -19,28 +19,18 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.Timeout; import org.redisson.RedisRunner.RedisProcess; import org.redisson.api.RPatternTopic; import org.redisson.api.RTopic; import org.redisson.api.RedissonClient; import org.redisson.api.listener.BasePatternStatusListener; -import org.redisson.api.listener.MessageListener; import org.redisson.api.listener.PatternMessageListener; import org.redisson.api.listener.PatternStatusListener; -import org.redisson.api.listener.StatusListener; import org.redisson.config.Config; public class RedissonTopicPatternTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @BeforeClass public static void beforeClass() throws IOException, InterruptedException { if (!RedissonRuntimeEnvironment.isTravis) { diff --git a/redisson/src/test/java/org/redisson/RedissonTopicTest.java b/redisson/src/test/java/org/redisson/RedissonTopicTest.java index 39b91fbf8..ca5848001 100644 --- a/redisson/src/test/java/org/redisson/RedissonTopicTest.java +++ b/redisson/src/test/java/org/redisson/RedissonTopicTest.java @@ -23,7 +23,6 @@ import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import org.redisson.RedisRunner.RedisProcess; -import org.redisson.api.RBlockingQueue; import org.redisson.api.RSet; import org.redisson.api.RTopic; import org.redisson.api.RedissonClient; @@ -36,17 +35,9 @@ import org.redisson.config.Config; import com.jayway.awaitility.Awaitility; import com.jayway.awaitility.Duration; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.rules.Timeout; public class RedissonTopicTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @BeforeClass public static void beforeClass() throws IOException, InterruptedException { if (!RedissonRuntimeEnvironment.isTravis) { diff --git a/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java b/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java index 5f0d52e58..6ba710c1d 100644 --- a/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java +++ b/redisson/src/test/java/org/redisson/RedissonTwoLockedThread.java @@ -17,22 +17,13 @@ import org.redisson.config.Config; import java.util.Arrays; import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; import org.junit.AfterClass; import org.junit.BeforeClass; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.rules.Timeout; import static org.redisson.BaseTest.createInstance; @RunWith(Parameterized.class) public class RedissonTwoLockedThread { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @Parameterized.Parameters(name= "{index} - {0}") public static Iterable data() { return Arrays.asList(new Object[][] {{new JsonJacksonCodec()}, {new SerializationCodec()}}); diff --git a/redisson/src/test/java/org/redisson/client/codec/JsonJacksonMapValueCodecTest.java b/redisson/src/test/java/org/redisson/client/codec/JsonJacksonMapValueCodecTest.java index 632c03d22..b0d4b4ebe 100644 --- a/redisson/src/test/java/org/redisson/client/codec/JsonJacksonMapValueCodecTest.java +++ b/redisson/src/test/java/org/redisson/client/codec/JsonJacksonMapValueCodecTest.java @@ -13,20 +13,11 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; import static org.assertj.core.api.Assertions.assertThat; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.rules.Timeout; public class JsonJacksonMapValueCodecTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - private final JsonJacksonMapValueCodec>> mapCodec = new JsonJacksonMapValueCodec>>(new TypeReference>>() { }); diff --git a/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java b/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java index 13bd2f886..940d30b47 100644 --- a/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java +++ b/redisson/src/test/java/org/redisson/connection/balancer/WeightedRoundRobinBalancerTest.java @@ -1,17 +1,12 @@ package org.redisson.connection.balancer; -import static com.jayway.awaitility.Awaitility.await; import static org.assertj.core.api.Assertions.assertThat; import java.io.IOException; import java.util.HashMap; import java.util.Map; -import java.util.concurrent.TimeUnit; -import org.junit.ClassRule; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.Timeout; import org.redisson.RedisRunner; import org.redisson.RedisRunner.RedisProcess; import org.redisson.Redisson; @@ -21,11 +16,6 @@ import org.redisson.config.ReadMode; public class WeightedRoundRobinBalancerTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @Test public void testUseMasterForReadsIfNoConnectionsToSlaves() throws IOException, InterruptedException { RedisProcess master = null; diff --git a/redisson/src/test/java/org/redisson/misc/LFUCacheMapTest.java b/redisson/src/test/java/org/redisson/misc/LFUCacheMapTest.java index 37ed5578d..f272cc366 100644 --- a/redisson/src/test/java/org/redisson/misc/LFUCacheMapTest.java +++ b/redisson/src/test/java/org/redisson/misc/LFUCacheMapTest.java @@ -3,19 +3,11 @@ package org.redisson.misc; import static org.assertj.core.api.Assertions.assertThat; import java.util.concurrent.TimeUnit; -import org.junit.ClassRule; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.Timeout; public class LFUCacheMapTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @Test public void testMaxIdleTimeEviction() throws InterruptedException { Cache map = new LFUCacheMap(2, 0, 0); diff --git a/redisson/src/test/java/org/redisson/misc/LRUCacheMapTest.java b/redisson/src/test/java/org/redisson/misc/LRUCacheMapTest.java index b79d2ce07..530827416 100644 --- a/redisson/src/test/java/org/redisson/misc/LRUCacheMapTest.java +++ b/redisson/src/test/java/org/redisson/misc/LRUCacheMapTest.java @@ -3,19 +3,11 @@ package org.redisson.misc; import static org.assertj.core.api.Assertions.*; import java.util.concurrent.TimeUnit; -import org.junit.ClassRule; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.Timeout; public class LRUCacheMapTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @Test public void testMaxIdleTimeEviction() throws InterruptedException { Cache map = new LRUCacheMap(2, 0, 0); diff --git a/redisson/src/test/java/org/redisson/misc/NoneCacheMapTest.java b/redisson/src/test/java/org/redisson/misc/NoneCacheMapTest.java index 7a56f187a..63f5a58e8 100644 --- a/redisson/src/test/java/org/redisson/misc/NoneCacheMapTest.java +++ b/redisson/src/test/java/org/redisson/misc/NoneCacheMapTest.java @@ -3,19 +3,11 @@ package org.redisson.misc; import static org.assertj.core.api.Assertions.assertThat; import java.util.concurrent.TimeUnit; -import org.junit.ClassRule; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.Timeout; public class NoneCacheMapTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - @Test public void testMaxIdleTimeEviction() throws InterruptedException { Cache map = new NoneCacheMap(0, 0); diff --git a/redisson/src/test/java/org/redisson/spring/cache/RedissonSpringCacheTest.java b/redisson/src/test/java/org/redisson/spring/cache/RedissonSpringCacheTest.java index 5a27ae67f..28e6b6bc5 100644 --- a/redisson/src/test/java/org/redisson/spring/cache/RedissonSpringCacheTest.java +++ b/redisson/src/test/java/org/redisson/spring/cache/RedissonSpringCacheTest.java @@ -6,13 +6,9 @@ import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.Map; -import java.util.concurrent.TimeUnit; import org.junit.AfterClass; -import org.junit.ClassRule; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.Timeout; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.redisson.BaseTest; @@ -34,11 +30,6 @@ import org.springframework.stereotype.Service; @RunWith(Parameterized.class) public class RedissonSpringCacheTest { - @ClassRule - public static Timeout classTimeout = new Timeout(1, TimeUnit.HOURS); - @Rule - public Timeout testTimeout = new Timeout(15, TimeUnit.MINUTES); - public static class SampleObject { private String name;