Repository: incubator-ratis Updated Branches: refs/heads/master c0c3a3748 -> 704072c5c
RATIS-108. Add a timeout for all the tests. Project: http://git-wip-us.apache.org/repos/asf/incubator-ratis/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ratis/commit/704072c5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ratis/tree/704072c5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ratis/diff/704072c5 Branch: refs/heads/master Commit: 704072c5c4df67704ba0df38e965857672551fd7 Parents: c0c3a37 Author: Tsz-Wo Nicholas Sze <[email protected]> Authored: Mon Aug 21 14:52:30 2017 -0700 Committer: Tsz-Wo Nicholas Sze <[email protected]> Committed: Mon Aug 21 14:52:30 2017 -0700 ---------------------------------------------------------------------- .../test/java/org/apache/ratis/BaseTest.java | 72 ++++++++++++++++++++ .../org/apache/ratis/util/TestLifeCycle.java | 3 +- .../org/apache/ratis/util/TestTimeDuration.java | 2 +- .../ratis/util/TestTraditionalBinaryPrefix.java | 2 +- .../java/org/apache/ratis/TestBatchAppend.java | 10 +-- .../org/apache/ratis/TestRestartRaftPeer.java | 10 +-- .../examples/arithmetic/TestArithmetic.java | 3 +- .../arithmetic/expression/TestExpression.java | 15 ++-- .../TestRaftStateMachineException.java | 7 +- .../org/apache/ratis/grpc/TestRaftStream.java | 4 +- .../apache/ratis/hadooprpc/HadoopFactory.java | 1 - .../hadooprpc/server/HadoopRpcService.java | 2 +- .../java/org/apache/ratis/MiniRaftCluster.java | 2 +- .../java/org/apache/ratis/RaftBasicTests.java | 10 +-- .../ratis/RaftNotLeaderExceptionBaseTest.java | 10 +-- .../org/apache/ratis/RaftRetryCacheTests.java | 11 +-- .../java/org/apache/ratis/RaftTestUtil.java | 54 ++++++--------- .../org/apache/ratis/protocol/TestRaftId.java | 8 ++- .../apache/ratis/server/TestRaftServerJmx.java | 12 +--- .../impl/RaftReconfigurationBaseTest.java | 6 +- .../server/impl/ReinitializationBaseTest.java | 8 +-- .../ratis/server/storage/TestCacheEviction.java | 6 +- .../server/storage/TestRaftLogReadWrite.java | 12 ++-- .../server/storage/TestRaftLogSegment.java | 10 +-- .../ratis/server/storage/TestRaftStorage.java | 6 +- .../server/storage/TestSegmentedRaftLog.java | 15 ++-- .../statemachine/RaftSnapshotBaseTest.java | 3 +- .../ratis/statemachine/TestStateMachine.java | 8 +-- 28 files changed, 151 insertions(+), 161 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-common/src/test/java/org/apache/ratis/BaseTest.java ---------------------------------------------------------------------- diff --git a/ratis-common/src/test/java/org/apache/ratis/BaseTest.java b/ratis-common/src/test/java/org/apache/ratis/BaseTest.java new file mode 100644 index 0000000..659da0b --- /dev/null +++ b/ratis-common/src/test/java/org/apache/ratis/BaseTest.java @@ -0,0 +1,72 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.ratis; + +import org.apache.log4j.Level; +import org.apache.ratis.conf.ConfUtils; +import org.apache.ratis.util.JavaUtils; +import org.apache.ratis.util.LogUtils; +import org.junit.Rule; +import org.junit.rules.Timeout; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.IOException; +import java.util.concurrent.ThreadLocalRandom; +import java.util.function.Supplier; + +public abstract class BaseTest { + public final Logger LOG = LoggerFactory.getLogger(getClass()); + + { + LogUtils.setLogLevel(ConfUtils.LOG, Level.WARN); + } + + @Rule + public final Timeout globalTimeout = new Timeout(getGlobalTimeoutMs()); + + public int getGlobalTimeoutMs() { + return 100_000; + } + + private static final Supplier<File> rootTestDir = JavaUtils.memoize( + () -> JavaUtils.callAsUnchecked(() -> { + final File dir = new File(System.getProperty("test.build.data", "target/test/data"), + Long.toHexString(ThreadLocalRandom.current().nextLong())); + if (dir.exists() && !dir.isDirectory()) { + throw new IOException(dir + " already exists and is not a directory"); + } else if (!dir.exists() && !dir.mkdirs()) { + throw new IOException("Cannot create test directory " + dir); + } + return dir; + })); + + + public static File getRootTestDir() { + return rootTestDir.get(); + } + + public static File getClassTestDir(Class<?> caller) { + return new File(getRootTestDir(), caller.getSimpleName()); + } + + public File getTestDir() { + return getClassTestDir(getClass()); + } +} http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-common/src/test/java/org/apache/ratis/util/TestLifeCycle.java ---------------------------------------------------------------------- diff --git a/ratis-common/src/test/java/org/apache/ratis/util/TestLifeCycle.java b/ratis-common/src/test/java/org/apache/ratis/util/TestLifeCycle.java index 82816c9..9782792 100644 --- a/ratis-common/src/test/java/org/apache/ratis/util/TestLifeCycle.java +++ b/ratis-common/src/test/java/org/apache/ratis/util/TestLifeCycle.java @@ -17,7 +17,6 @@ */ package org.apache.ratis.util; -import org.apache.ratis.util.LifeCycle; import org.junit.Assert; import org.junit.Test; @@ -31,7 +30,7 @@ public class TestLifeCycle { * {@link LifeCycle} uses predecessors to validate transitions * while this test uses successors. */ - @Test + @Test(timeout = 1000) public void testIsValid() throws Exception { final Map<LifeCycle.State, List<LifeCycle.State>> successors = new EnumMap<>(LifeCycle.State.class); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-common/src/test/java/org/apache/ratis/util/TestTimeDuration.java ---------------------------------------------------------------------- diff --git a/ratis-common/src/test/java/org/apache/ratis/util/TestTimeDuration.java b/ratis-common/src/test/java/org/apache/ratis/util/TestTimeDuration.java index a724fb3..06d9301 100644 --- a/ratis-common/src/test/java/org/apache/ratis/util/TestTimeDuration.java +++ b/ratis-common/src/test/java/org/apache/ratis/util/TestTimeDuration.java @@ -30,7 +30,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; public class TestTimeDuration { - @Test(timeout = 10000) + @Test(timeout = 1000) public void testTimeDuration() throws Exception { Arrays.asList(TimeUnit.values()) .forEach(a -> assertNotNull(Abbreviation.valueOf(a.name()))); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java ---------------------------------------------------------------------- diff --git a/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java b/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java index f8068a9..26a62da 100644 --- a/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java +++ b/ratis-common/src/test/java/org/apache/ratis/util/TestTraditionalBinaryPrefix.java @@ -25,7 +25,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; public class TestTraditionalBinaryPrefix { - @Test(timeout = 10000) + @Test(timeout = 1000) public void testTraditionalBinaryPrefix() throws Exception { //test string2long(..) String[] symbol = {"k", "m", "g", "t", "p", "e"}; http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-examples/src/test/java/org/apache/ratis/TestBatchAppend.java ---------------------------------------------------------------------- diff --git a/ratis-examples/src/test/java/org/apache/ratis/TestBatchAppend.java b/ratis-examples/src/test/java/org/apache/ratis/TestBatchAppend.java index 0cd863b..d95a233 100644 --- a/ratis-examples/src/test/java/org/apache/ratis/TestBatchAppend.java +++ b/ratis-examples/src/test/java/org/apache/ratis/TestBatchAppend.java @@ -31,13 +31,9 @@ import org.apache.ratis.util.LogUtils; import org.apache.ratis.util.SizeInBytes; import org.junit.After; import org.junit.Assert; -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.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.Arrays; @@ -52,8 +48,7 @@ import java.util.stream.Stream; * Enable raft.server.log.appender.batch.enabled and test LogAppender */ @RunWith(Parameterized.class) -public class TestBatchAppend { - static Logger LOG = LoggerFactory.getLogger(TestBatchAppend.class); +public class TestBatchAppend extends BaseTest { static { LogUtils.setLogLevel(RaftServerImpl.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftClient.LOG, Level.DEBUG); @@ -76,9 +71,6 @@ public class TestBatchAppend { @Parameterized.Parameter public MiniRaftCluster cluster; - @Rule - public Timeout globalTimeout = new Timeout(60 * 1000); - @After public void tearDown() { if (cluster != null) { http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-examples/src/test/java/org/apache/ratis/TestRestartRaftPeer.java ---------------------------------------------------------------------- diff --git a/ratis-examples/src/test/java/org/apache/ratis/TestRestartRaftPeer.java b/ratis-examples/src/test/java/org/apache/ratis/TestRestartRaftPeer.java index 62f325f..b6d9eab 100644 --- a/ratis-examples/src/test/java/org/apache/ratis/TestRestartRaftPeer.java +++ b/ratis-examples/src/test/java/org/apache/ratis/TestRestartRaftPeer.java @@ -31,13 +31,9 @@ import org.apache.ratis.statemachine.StateMachine; import org.apache.ratis.util.LogUtils; import org.apache.ratis.util.SizeInBytes; import org.junit.Assert; -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.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.Arrays; @@ -47,8 +43,7 @@ import java.util.Collection; * Test restarting raft peers. */ @RunWith(Parameterized.class) -public class TestRestartRaftPeer { - static Logger LOG = LoggerFactory.getLogger(TestRestartRaftPeer.class); +public class TestRestartRaftPeer extends BaseTest { static { LogUtils.setLogLevel(RaftServerImpl.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftLog.LOG, Level.DEBUG); @@ -67,9 +62,6 @@ public class TestRestartRaftPeer { @Parameterized.Parameter public MiniRaftCluster cluster; - @Rule - public Timeout globalTimeout = new Timeout(60 * 1000); - @Test public void restartFollower() throws Exception { cluster.start(); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/TestArithmetic.java ---------------------------------------------------------------------- diff --git a/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/TestArithmetic.java b/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/TestArithmetic.java index 5ffb70f..6a16316 100644 --- a/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/TestArithmetic.java +++ b/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/TestArithmetic.java @@ -19,6 +19,7 @@ package org.apache.ratis.examples.arithmetic; import org.apache.log4j.Level; +import org.apache.ratis.BaseTest; import org.apache.ratis.MiniRaftCluster; import org.apache.ratis.RaftTestUtil; import org.apache.ratis.client.RaftClient; @@ -36,7 +37,7 @@ import java.io.IOException; import java.util.Collection; @RunWith(Parameterized.class) -public class TestArithmetic { +public class TestArithmetic extends BaseTest { static { LogUtils.setLogLevel(ArithmeticStateMachine.LOG, Level.ALL); } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/expression/TestExpression.java ---------------------------------------------------------------------- diff --git a/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/expression/TestExpression.java b/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/expression/TestExpression.java index a2d6e29..a21c11f 100644 --- a/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/expression/TestExpression.java +++ b/ratis-examples/src/test/java/org/apache/ratis/examples/arithmetic/expression/TestExpression.java @@ -18,21 +18,18 @@ package org.apache.ratis.examples.arithmetic.expression; -import org.apache.ratis.examples.arithmetic.expression.BinaryExpression; -import org.apache.ratis.examples.arithmetic.expression.DoubleValue; -import org.apache.ratis.examples.arithmetic.expression.Expression; -import org.apache.ratis.examples.arithmetic.expression.UnaryExpression; -import org.apache.ratis.examples.arithmetic.expression.Variable; +import org.apache.ratis.BaseTest; import org.junit.Assert; import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; -public class TestExpression { - static final Logger LOG = LoggerFactory.getLogger(TestExpression.class); +public class TestExpression extends BaseTest { + @Override + public int getGlobalTimeoutMs() { + return 1000; + } @Test public void testArithmeticUtils() throws Exception { http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-examples/src/test/java/org/apache/ratis/statemachine/TestRaftStateMachineException.java ---------------------------------------------------------------------- diff --git a/ratis-examples/src/test/java/org/apache/ratis/statemachine/TestRaftStateMachineException.java b/ratis-examples/src/test/java/org/apache/ratis/statemachine/TestRaftStateMachineException.java index 5845ca9..f893cd3 100644 --- a/ratis-examples/src/test/java/org/apache/ratis/statemachine/TestRaftStateMachineException.java +++ b/ratis-examples/src/test/java/org/apache/ratis/statemachine/TestRaftStateMachineException.java @@ -18,6 +18,7 @@ package org.apache.ratis.statemachine; import org.apache.log4j.Level; +import org.apache.ratis.BaseTest; import org.apache.ratis.MiniRaftCluster; import org.apache.ratis.RaftTestUtil; import org.apache.ratis.client.RaftClient; @@ -33,8 +34,6 @@ import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.Collection; @@ -43,9 +42,7 @@ import java.util.concurrent.CompletableFuture; import static org.junit.Assert.fail; @RunWith(Parameterized.class) -public class TestRaftStateMachineException { - public static final Logger LOG = LoggerFactory.getLogger(TestRaftStateMachineException.class); - +public class TestRaftStateMachineException extends BaseTest { static { LogUtils.setLogLevel(RaftServerImpl.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftLog.LOG, Level.DEBUG); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java ---------------------------------------------------------------------- diff --git a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java index c67572b..ccd6c10 100644 --- a/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java +++ b/ratis-grpc/src/test/java/org/apache/ratis/grpc/TestRaftStream.java @@ -18,6 +18,7 @@ package org.apache.ratis.grpc; import org.apache.log4j.Level; +import org.apache.ratis.BaseTest; import org.apache.ratis.RaftTestUtil; import org.apache.ratis.conf.RaftProperties; import org.apache.ratis.server.protocol.TermIndex; @@ -45,11 +46,10 @@ import java.util.function.Supplier; import static org.apache.ratis.RaftTestUtil.waitForLeader; import static org.junit.Assert.fail; -public class TestRaftStream { +public class TestRaftStream extends BaseTest { static { LogUtils.setLogLevel(AppendStreamer.LOG, Level.ALL); } - static final Logger LOG = LoggerFactory.getLogger(TestRaftStream.class); private static final RaftProperties prop = new RaftProperties(); private static final int NUM_SERVERS = 3; http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/HadoopFactory.java ---------------------------------------------------------------------- diff --git a/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/HadoopFactory.java b/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/HadoopFactory.java index f6c4885..75fe363 100644 --- a/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/HadoopFactory.java +++ b/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/HadoopFactory.java @@ -24,7 +24,6 @@ import org.apache.ratis.hadooprpc.client.HadoopClientRpc; import org.apache.ratis.hadooprpc.server.HadoopRpcService; import org.apache.ratis.rpc.SupportedRpcType; import org.apache.ratis.server.RaftServer; -import org.apache.ratis.server.impl.RaftServerImpl; import org.apache.ratis.server.impl.ServerFactory; public class HadoopFactory extends ServerFactory.BaseFactory implements ClientFactory { http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java ---------------------------------------------------------------------- diff --git a/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java b/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java index 15afde8..0a7b430 100644 --- a/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java +++ b/ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/HadoopRpcService.java @@ -92,7 +92,7 @@ public class HadoopRpcService implements RaftServerRpc { private HadoopRpcService(RaftServer server, final Configuration conf) { this.proxies = new PeerProxyMap<>( - p -> new Proxy(RaftServerProtocolPB.class, p.getAddress(), conf)); + p -> new Proxy<>(RaftServerProtocolPB.class, p.getAddress(), conf)); this.id = server.getId(); try { this.ipcServer = newRpcServer(server, conf); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java b/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java index c47966f..f003127 100644 --- a/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java +++ b/ratis-server/src/test/java/org/apache/ratis/MiniRaftCluster.java @@ -108,7 +108,7 @@ public abstract class MiniRaftCluster { } private File getStorageDir(RaftPeerId id) { - return new File(RaftTestUtil.getTestBaseDirectory() + return new File(BaseTest.getRootTestDir() + "/" + getClass().getSimpleName() + "/" + id); } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java b/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java index 26eda15..b227e47 100644 --- a/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java +++ b/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java @@ -23,9 +23,6 @@ import org.apache.ratis.conf.RaftProperties; import org.apache.ratis.protocol.RaftPeerId; import org.apache.ratis.server.impl.RaftServerImpl; import org.junit.*; -import org.junit.rules.Timeout; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import static org.apache.ratis.RaftTestUtil.waitAndKillLeader; import static org.apache.ratis.RaftTestUtil.waitForLeader; @@ -37,9 +34,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.stream.Stream; -public abstract class RaftBasicTests { - public static final Logger LOG = LoggerFactory.getLogger(RaftBasicTests.class); - +public abstract class RaftBasicTests extends BaseTest { public static final int NUM_SERVERS = 5; protected static final RaftProperties properties = new RaftProperties(); @@ -50,9 +45,6 @@ public abstract class RaftBasicTests { return properties; } - @Rule - public Timeout globalTimeout = new Timeout(120 * 1000); - @Before public void setup() throws IOException { Assert.assertNull(getCluster().getLeader()); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java b/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java index 43c9fff..119409c 100644 --- a/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java +++ b/ratis-server/src/test/java/org/apache/ratis/RaftNotLeaderExceptionBaseTest.java @@ -27,9 +27,6 @@ import org.apache.ratis.server.impl.RaftServerImpl; import org.apache.ratis.server.storage.RaftLog; import org.apache.ratis.util.LogUtils; import org.junit.*; -import org.junit.rules.Timeout; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.Arrays; @@ -37,20 +34,15 @@ import java.util.Collection; import static org.apache.ratis.server.impl.RaftServerConstants.DEFAULT_CALLID; -public abstract class RaftNotLeaderExceptionBaseTest { +public abstract class RaftNotLeaderExceptionBaseTest extends BaseTest { static { LogUtils.setLogLevel(RaftServerImpl.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftLog.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftClient.LOG, Level.DEBUG); } - public static final Logger LOG = - LoggerFactory.getLogger(RaftNotLeaderExceptionBaseTest.class); public static final int NUM_PEERS = 5; - @Rule - public Timeout globalTimeout = new Timeout(60 * 1000); - private MiniRaftCluster cluster; public abstract MiniRaftCluster.Factory<?> getFactory(); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/RaftRetryCacheTests.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/RaftRetryCacheTests.java b/ratis-server/src/test/java/org/apache/ratis/RaftRetryCacheTests.java index 4317be1..3398a0f 100644 --- a/ratis-server/src/test/java/org/apache/ratis/RaftRetryCacheTests.java +++ b/ratis-server/src/test/java/org/apache/ratis/RaftRetryCacheTests.java @@ -31,20 +31,14 @@ import org.apache.ratis.server.impl.RaftServerTestUtil; import org.junit.After; import org.junit.Assert; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; -import org.junit.rules.Timeout; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.IOException; import static java.util.Arrays.asList; import static org.apache.ratis.server.impl.RaftServerConstants.DEFAULT_CALLID; -public abstract class RaftRetryCacheTests { - public static final Logger LOG = LoggerFactory.getLogger(RaftRetryCacheTests.class); - +public abstract class RaftRetryCacheTests extends BaseTest { public static final int NUM_SERVERS = 3; protected static final RaftProperties properties = new RaftProperties(); @@ -54,9 +48,6 @@ public abstract class RaftRetryCacheTests { return properties; } - @Rule - public Timeout globalTimeout = new Timeout(120 * 1000); - @Before public void setup() throws IOException { Assert.assertNull(getCluster().getLeader()); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java b/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java index ddeaf8f..46ff7d8 100644 --- a/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java +++ b/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java @@ -48,28 +48,24 @@ import java.util.function.BooleanSupplier; import java.util.function.IntSupplier; public interface RaftTestUtil { - public static final LogEntryProto[] EMPTY_LOGENTRY_ARRAY = new LogEntryProto[0]; - static final Logger LOG = LoggerFactory.getLogger(RaftTestUtil.class); - static String getTestBaseDirectory() { - return System.getProperty("test.build.data", "target/test/data"); - } + Logger LOG = LoggerFactory.getLogger(RaftTestUtil.class); - public static RaftServerImpl getImplAsUnchecked(RaftServerProxy proxy) { + static RaftServerImpl getImplAsUnchecked(RaftServerProxy proxy) { return JavaUtils.callAsUnchecked(proxy::getImpl); } - public static RaftServerImpl waitForLeader(MiniRaftCluster cluster) + static RaftServerImpl waitForLeader(MiniRaftCluster cluster) throws InterruptedException { return waitForLeader(cluster, false); } - public static RaftServerImpl waitForLeader( + static RaftServerImpl waitForLeader( MiniRaftCluster cluster, boolean tolerateMultipleLeaders) throws InterruptedException { return waitForLeader(cluster, tolerateMultipleLeaders, null); } - public static RaftServerImpl waitForLeader( + static RaftServerImpl waitForLeader( MiniRaftCluster cluster, boolean tolerateMultipleLeaders, RaftGroupId groupId) throws InterruptedException { final long sleepTime = (cluster.getMaxTimeout() * 3) >> 1; @@ -89,7 +85,7 @@ public interface RaftTestUtil { return leader; } - public static RaftServerImpl waitForLeader( + static RaftServerImpl waitForLeader( MiniRaftCluster cluster, final String leaderId) throws InterruptedException { LOG.info(cluster.printServers()); for(int i = 0; !cluster.tryEnforceLeader(leaderId) && i < 10; i++) { @@ -104,7 +100,7 @@ public interface RaftTestUtil { return leader; } - public static String waitAndKillLeader(MiniRaftCluster cluster, + static String waitAndKillLeader(MiniRaftCluster cluster, boolean expectLeader) throws InterruptedException { final RaftServerImpl leader = waitForLeader(cluster); if (!expectLeader) { @@ -117,7 +113,7 @@ public interface RaftTestUtil { return leader != null ? leader.getId().toString() : null; } - public static boolean logEntriesContains(RaftLog log, + static boolean logEntriesContains(RaftLog log, SimpleMessage... expectedMessages) { int idxEntries = 0; int idxExpected = 0; @@ -137,7 +133,7 @@ public interface RaftTestUtil { return idxExpected == expectedMessages.length; } - public static void assertLogEntries(Collection<RaftServerProxy> servers, + static void assertLogEntries(Collection<RaftServerProxy> servers, SimpleMessage... expectedMessages) { final int size = servers.size(); final long count = MiniRaftCluster.getServerStream(servers) @@ -151,7 +147,7 @@ public interface RaftTestUtil { } } - public static void assertLogEntries(RaftLog log, TermIndex[] entries, + static void assertLogEntries(RaftLog log, TermIndex[] entries, long startIndex, long expertedTerm, SimpleMessage... expectedMessages) { Assert.assertEquals(expectedMessages.length, entries.length); for(int i = 0; i < entries.length; i++) { @@ -168,11 +164,11 @@ public interface RaftTestUtil { } } - public static ByteString toByteString(String string) { + static ByteString toByteString(String string) { return ByteString.copyFrom(string, StandardCharsets.UTF_8); } - public static class SimpleMessage implements Message { + class SimpleMessage implements Message { public static SimpleMessage[] create(int numMessages) { return create(numMessages, "m"); } @@ -219,7 +215,7 @@ public interface RaftTestUtil { } } - public static class SimpleOperation { + class SimpleOperation { private final String op; public SimpleOperation(String op) { @@ -248,32 +244,20 @@ public interface RaftTestUtil { } } - public static File getTestDir(Class<?> caller) throws IOException { - File dir = new File(System.getProperty("test.build.data", "target/test/data") - + "/" + Long.toHexString(ThreadLocalRandom.current().nextLong()), - caller.getSimpleName()); - if (dir.exists() && !dir.isDirectory()) { - throw new IOException(dir + " already exists and is not a directory"); - } else if (!dir.exists() && !dir.mkdirs()) { - throw new IOException("Cannot create directory " + dir); - } - return dir; - } - - public static void block(BooleanSupplier isBlocked) throws InterruptedException { + static void block(BooleanSupplier isBlocked) throws InterruptedException { for(; isBlocked.getAsBoolean(); ) { RaftServerConfigKeys.Rpc.TIMEOUT_MAX_DEFAULT.sleep(); } } - public static void delay(IntSupplier getDelayMs) throws InterruptedException { + static void delay(IntSupplier getDelayMs) throws InterruptedException { final int t = getDelayMs.getAsInt(); if (t > 0) { Thread.sleep(t); } } - public static <T extends Throwable> void attempt( + static <T extends Throwable> void attempt( int n, long sleepMs, CheckedRunnable<T> runnable) throws T, InterruptedException { for(int i = 1; i <= n; i++) { @@ -293,7 +277,7 @@ public interface RaftTestUtil { } } - public static RaftPeerId changeLeader(MiniRaftCluster cluster, RaftPeerId oldLeader) + static RaftPeerId changeLeader(MiniRaftCluster cluster, RaftPeerId oldLeader) throws InterruptedException { cluster.setBlockRequestsFrom(oldLeader.toString(), true); RaftPeerId newLeader = oldLeader; @@ -304,7 +288,7 @@ public interface RaftTestUtil { return newLeader; } - public static <SERVER extends RaftServer> void blockQueueAndSetDelay( + static <SERVER extends RaftServer> void blockQueueAndSetDelay( Collection<SERVER> servers, DelayLocalExecutionInjection injection, String leaderId, int delayMs, long maxTimeout) throws InterruptedException { @@ -331,7 +315,7 @@ public interface RaftTestUtil { Thread.sleep(3 * maxTimeout); } - public static void setBlockRequestsFrom(String src, boolean block) { + static void setBlockRequestsFrom(String src, boolean block) { if (block) { BlockRequestHandlingInjection.getInstance().blockRequestor(src); } else { http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/protocol/TestRaftId.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/protocol/TestRaftId.java b/ratis-server/src/test/java/org/apache/ratis/protocol/TestRaftId.java index b5806d5..b4688fd 100644 --- a/ratis-server/src/test/java/org/apache/ratis/protocol/TestRaftId.java +++ b/ratis-server/src/test/java/org/apache/ratis/protocol/TestRaftId.java @@ -17,11 +17,17 @@ */ package org.apache.ratis.protocol; +import org.apache.ratis.BaseTest; import org.apache.ratis.shaded.com.google.protobuf.ByteString; import org.junit.Assert; import org.junit.Test; -public class TestRaftId { +public class TestRaftId extends BaseTest { + @Override + public int getGlobalTimeoutMs() { + return 1000; + } + @Test public void testClientId() { final ClientId id = ClientId.createId(); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/server/TestRaftServerJmx.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/TestRaftServerJmx.java b/ratis-server/src/test/java/org/apache/ratis/server/TestRaftServerJmx.java index ae96c02..7533760 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/TestRaftServerJmx.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/TestRaftServerJmx.java @@ -18,17 +18,14 @@ package org.apache.ratis.server; import org.apache.log4j.Level; +import org.apache.ratis.BaseTest; import org.apache.ratis.MiniRaftCluster; -import org.apache.ratis.RaftBasicTests; import org.apache.ratis.client.RaftClient; import org.apache.ratis.conf.RaftProperties; import org.apache.ratis.server.impl.RaftServerImpl; import org.apache.ratis.server.simulation.MiniRaftClusterWithSimulatedRpc; import org.apache.ratis.util.LogUtils; import org.junit.*; -import org.junit.rules.Timeout; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import javax.management.MBeanServer; import javax.management.ObjectInstance; @@ -39,14 +36,12 @@ import java.util.Set; import static org.apache.ratis.RaftTestUtil.waitForLeader; -public class TestRaftServerJmx { +public class TestRaftServerJmx extends BaseTest { static { LogUtils.setLogLevel(RaftServerImpl.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftClient.LOG, Level.DEBUG); } - public static final Logger LOG = LoggerFactory.getLogger(RaftBasicTests.class); - public static final int NUM_SERVERS = 5; protected static final RaftProperties properties = new RaftProperties(); @@ -62,9 +57,6 @@ public class TestRaftServerJmx { return properties; } - @Rule - public Timeout globalTimeout = new Timeout(120 * 1000); - @Before public void setup() throws IOException { Assert.assertNull(getCluster().getLeader()); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java b/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java index 2a80b37..f1d640a 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java @@ -18,6 +18,7 @@ package org.apache.ratis.server.impl; import org.apache.log4j.Level; +import org.apache.ratis.BaseTest; import org.apache.ratis.MiniRaftCluster; import org.apache.ratis.MiniRaftCluster.PeerChanges; import org.apache.ratis.RaftTestUtil; @@ -34,8 +35,6 @@ import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.mockito.internal.util.reflection.Whitebox; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.ArrayList; @@ -52,12 +51,11 @@ import static org.apache.ratis.server.impl.RaftServerConstants.DEFAULT_CALLID; import static org.apache.ratis.server.impl.RaftServerTestUtil.waitAndCheckNewConf; import static org.apache.ratis.shaded.proto.RaftProtos.LogEntryProto.LogEntryBodyCase.CONFIGURATIONENTRY; -public abstract class RaftReconfigurationBaseTest { +public abstract class RaftReconfigurationBaseTest extends BaseTest { static { LogUtils.setLogLevel(RaftServerImpl.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftClient.LOG, Level.DEBUG); } - static final Logger LOG = LoggerFactory.getLogger(RaftReconfigurationBaseTest.class); protected static final RaftProperties prop = new RaftProperties(); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/server/impl/ReinitializationBaseTest.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/impl/ReinitializationBaseTest.java b/ratis-server/src/test/java/org/apache/ratis/server/impl/ReinitializationBaseTest.java index a4ac287..5595b76 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/impl/ReinitializationBaseTest.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/impl/ReinitializationBaseTest.java @@ -18,10 +18,10 @@ package org.apache.ratis.server.impl; import org.apache.log4j.Level; +import org.apache.ratis.BaseTest; import org.apache.ratis.MiniRaftCluster; import org.apache.ratis.RaftTestUtil; import org.apache.ratis.client.RaftClient; -import org.apache.ratis.conf.ConfUtils; import org.apache.ratis.conf.RaftProperties; import org.apache.ratis.protocol.RaftGroup; import org.apache.ratis.protocol.RaftGroupId; @@ -31,8 +31,6 @@ import org.apache.ratis.util.JavaUtils; import org.apache.ratis.util.LogUtils; import org.junit.Assert; import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.Arrays; @@ -43,13 +41,11 @@ import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; -public abstract class ReinitializationBaseTest { +public abstract class ReinitializationBaseTest extends BaseTest { static { LogUtils.setLogLevel(RaftServerImpl.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftClient.LOG, Level.DEBUG); - LogUtils.setLogLevel(ConfUtils.LOG, Level.OFF); } - static final Logger LOG = LoggerFactory.getLogger(ReinitializationBaseTest.class); static final RaftProperties prop = new RaftProperties(); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/server/storage/TestCacheEviction.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestCacheEviction.java b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestCacheEviction.java index 9961837..456403e 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestCacheEviction.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestCacheEviction.java @@ -17,8 +17,8 @@ */ package org.apache.ratis.server.storage; +import org.apache.ratis.BaseTest; import org.apache.ratis.MiniRaftCluster; -import org.apache.ratis.RaftTestUtil; import org.apache.ratis.RaftTestUtil.SimpleOperation; import org.apache.ratis.conf.RaftProperties; import org.apache.ratis.protocol.ClientId; @@ -42,7 +42,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -public class TestCacheEviction { +public class TestCacheEviction extends BaseTest { private static final CacheInvalidationPolicy policy = new CacheInvalidationPolicyDefault(); private static final ClientId clientId = ClientId.createId(); private static final long callId = 0; @@ -154,7 +154,7 @@ public class TestCacheEviction { final RaftPeerId peerId = RaftPeerId.valueOf("s0"); final int maxCachedNum = RaftServerConfigKeys.Log.maxCachedSegmentNum(prop); - File storageDir = RaftTestUtil.getTestDir(TestSegmentedRaftLog.class); + File storageDir = getTestDir(); RaftServerConfigKeys.setStorageDir(prop, storageDir); RaftStorage storage = new RaftStorage(storageDir, RaftServerConstants.StartupOption.REGULAR); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogReadWrite.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogReadWrite.java b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogReadWrite.java index f1e3566..dffd996 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogReadWrite.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogReadWrite.java @@ -17,10 +17,9 @@ */ package org.apache.ratis.server.storage; -import org.apache.ratis.RaftTestUtil; +import org.apache.ratis.BaseTest; import org.apache.ratis.RaftTestUtil.SimpleOperation; import org.apache.ratis.conf.RaftProperties; -import org.apache.ratis.util.SizeInBytes; import org.apache.ratis.protocol.ChecksumException; import org.apache.ratis.protocol.ClientId; import org.apache.ratis.server.RaftServerConfigKeys; @@ -30,12 +29,11 @@ import org.apache.ratis.shaded.com.google.protobuf.CodedOutputStream; import org.apache.ratis.shaded.proto.RaftProtos.LogEntryProto; import org.apache.ratis.util.FileUtils; import org.apache.ratis.util.ProtoUtils; +import org.apache.ratis.util.SizeInBytes; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.io.File; import java.io.FileOutputStream; @@ -48,9 +46,7 @@ import java.util.List; /** * Test basic functionality of LogReader, LogInputStream, and LogOutputStream. */ -public class TestRaftLogReadWrite { - private static final Logger LOG = LoggerFactory.getLogger(TestRaftLogReadWrite.class); - +public class TestRaftLogReadWrite extends BaseTest { private static final ClientId clientId = ClientId.createId(); private static final long callId = 0; @@ -59,7 +55,7 @@ public class TestRaftLogReadWrite { @Before public void setup() throws Exception { - storageDir = RaftTestUtil.getTestDir(TestRaftLogReadWrite.class); + storageDir = getTestDir(); properties = new RaftProperties(); RaftServerConfigKeys.setStorageDir(properties, storageDir); } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogSegment.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogSegment.java b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogSegment.java index 769f923..931a6ec 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogSegment.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftLogSegment.java @@ -17,18 +17,18 @@ */ package org.apache.ratis.server.storage; -import org.apache.ratis.RaftTestUtil; +import org.apache.ratis.BaseTest; import org.apache.ratis.RaftTestUtil.SimpleOperation; import org.apache.ratis.conf.RaftProperties; -import org.apache.ratis.server.storage.LogSegment.LogRecordWithEntry; -import org.apache.ratis.util.SizeInBytes; import org.apache.ratis.protocol.ClientId; import org.apache.ratis.server.RaftServerConfigKeys; import org.apache.ratis.server.impl.RaftServerConstants.StartupOption; +import org.apache.ratis.server.storage.LogSegment.LogRecordWithEntry; import org.apache.ratis.shaded.proto.RaftProtos.LogEntryProto; import org.apache.ratis.shaded.proto.RaftProtos.SMLogEntryProto; import org.apache.ratis.util.FileUtils; import org.apache.ratis.util.ProtoUtils; +import org.apache.ratis.util.SizeInBytes; import org.apache.ratis.util.TraditionalBinaryPrefix; import org.junit.After; import org.junit.Assert; @@ -47,7 +47,7 @@ import static org.apache.ratis.server.storage.LogSegment.getEntrySize; /** * Test basic functionality of {@link LogSegment} */ -public class TestRaftLogSegment { +public class TestRaftLogSegment extends BaseTest { private static final ClientId clientId = ClientId.createId(); private static final long callId = 0; @@ -56,7 +56,7 @@ public class TestRaftLogSegment { @Before public void setup() throws Exception { - storageDir = RaftTestUtil.getTestDir(TestRaftLogSegment.class); + storageDir = getTestDir(); RaftServerConfigKeys.setStorageDir(properties, storageDir); } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftStorage.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftStorage.java b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftStorage.java index d8ca627..1673fe9 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftStorage.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestRaftStorage.java @@ -17,7 +17,7 @@ */ package org.apache.ratis.server.storage; -import org.apache.ratis.RaftTestUtil; +import org.apache.ratis.BaseTest; import org.apache.ratis.io.nativeio.NativeIO; import org.apache.ratis.server.impl.RaftServerConstants.StartupOption; import org.apache.ratis.server.protocol.TermIndex; @@ -37,12 +37,12 @@ import java.util.concurrent.ThreadLocalRandom; /** * Test RaftStorage and RaftStorageDirectory */ -public class TestRaftStorage { +public class TestRaftStorage extends BaseTest { private File storageDir; @Before public void setup() throws Exception { - storageDir = RaftTestUtil.getTestDir(TestRaftStorage.class); + storageDir = getTestDir(); } @After http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/server/storage/TestSegmentedRaftLog.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestSegmentedRaftLog.java b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestSegmentedRaftLog.java index 811ba6d..c6a97da 100644 --- a/ratis-server/src/test/java/org/apache/ratis/server/storage/TestSegmentedRaftLog.java +++ b/ratis-server/src/test/java/org/apache/ratis/server/storage/TestSegmentedRaftLog.java @@ -18,7 +18,7 @@ package org.apache.ratis.server.storage; import org.apache.log4j.Level; -import org.apache.ratis.RaftTestUtil; +import org.apache.ratis.BaseTest; import org.apache.ratis.RaftTestUtil.SimpleOperation; import org.apache.ratis.conf.RaftProperties; import org.apache.ratis.protocol.ClientId; @@ -43,9 +43,8 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.function.Supplier; -import java.util.stream.Collectors; -public class TestSegmentedRaftLog { +public class TestSegmentedRaftLog extends BaseTest { static { LogUtils.setLogLevel(RaftLogWorker.LOG, Level.DEBUG); } @@ -74,7 +73,7 @@ public class TestSegmentedRaftLog { @Before public void setup() throws Exception { - storageDir = RaftTestUtil.getTestDir(TestSegmentedRaftLog.class); + storageDir = getTestDir(); properties = new RaftProperties(); RaftServerConfigKeys.setStorageDir(properties, storageDir); storage = new RaftStorage(storageDir, RaftServerConstants.StartupOption.REGULAR); @@ -150,8 +149,7 @@ public class TestSegmentedRaftLog { throw new RuntimeException(e); } }) - .collect(Collectors.toList()) - .toArray(RaftTestUtil.EMPTY_LOGENTRY_ARRAY); + .toArray(LogEntryProto[]::new); Assert.assertArrayEquals(entries, entriesFromLog); Assert.assertEquals(entries[entries.length - 1], getLastEntry(raftLog)); } @@ -289,10 +287,9 @@ public class TestSegmentedRaftLog { throw new RuntimeException(e); } }) - .collect(Collectors.toList()) - .toArray(RaftTestUtil.EMPTY_LOGENTRY_ARRAY); + .toArray(LogEntryProto[]::new); LogEntryProto[] expectedArray = expected.subList(offset, offset + size) - .toArray(RaftTestUtil.EMPTY_LOGENTRY_ARRAY); + .stream().toArray(LogEntryProto[]::new); Assert.assertArrayEquals(expectedArray, entriesFromLog); } } http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java b/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java index c7adec8..c243eaf 100644 --- a/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java +++ b/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java @@ -18,6 +18,7 @@ package org.apache.ratis.statemachine; import org.apache.log4j.Level; +import org.apache.ratis.BaseTest; import org.apache.ratis.MiniRaftCluster; import org.apache.ratis.RaftTestUtil; import org.apache.ratis.RaftTestUtil.SimpleMessage; @@ -48,7 +49,7 @@ import java.util.List; import static org.apache.ratis.server.impl.RaftServerConstants.DEFAULT_CALLID; -public abstract class RaftSnapshotBaseTest { +public abstract class RaftSnapshotBaseTest extends BaseTest { static { LogUtils.setLogLevel(RaftServerImpl.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftLog.LOG, Level.DEBUG); http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/704072c5/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java ---------------------------------------------------------------------- diff --git a/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java b/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java index a5f2c07..f41e764 100644 --- a/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java +++ b/ratis-server/src/test/java/org/apache/ratis/statemachine/TestStateMachine.java @@ -18,6 +18,7 @@ package org.apache.ratis.statemachine; import org.apache.log4j.Level; +import org.apache.ratis.BaseTest; import org.apache.ratis.MiniRaftCluster; import org.apache.ratis.RaftTestUtil; import org.apache.ratis.client.RaftClient; @@ -32,12 +33,10 @@ import org.apache.ratis.server.simulation.MiniRaftClusterWithSimulatedRpc; import org.apache.ratis.shaded.proto.RaftProtos.SMLogEntryProto; import org.apache.ratis.util.LogUtils; import org.junit.*; -import org.junit.rules.Timeout; import java.io.IOException; import java.util.Collections; import java.util.List; -import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicBoolean; @@ -50,7 +49,7 @@ import static org.junit.Assert.*; /** * Test StateMachine related functionality */ -public class TestStateMachine { +public class TestStateMachine extends BaseTest { static { LogUtils.setLogLevel(RaftServerImpl.LOG, Level.DEBUG); LogUtils.setLogLevel(RaftClient.LOG, Level.DEBUG); @@ -67,9 +66,6 @@ public class TestStateMachine { private MiniRaftClusterWithSimulatedRpc cluster; - @Rule - public Timeout globalTimeout = new Timeout(60 * 1000); - @Before public void setup() throws IOException { }
