This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch branch-2.5
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.5 by this push:
new 01c3b2ddbc9 HBASE-29879 Upgrade hbase-procedure to use junit5 (#7753)
01c3b2ddbc9 is described below
commit 01c3b2ddbc99d778f27e9c61b411f92adb2f03f7
Author: Liu Xiao <[email protected]>
AuthorDate: Sat Feb 14 14:50:02 2026 +0800
HBASE-29879 Upgrade hbase-procedure to use junit5 (#7753)
Signed-off-by: Duo Zhang <[email protected]>
(cherry picked from commit 01c64519286b5530f43fd6124f4bd7e2ada9b406)
---
hbase-procedure/pom.xml | 5 --
.../hbase/procedure2/ProcedureTestingUtility.java | 37 ++++++-----
.../hbase/procedure2/TestChildProcedures.java | 35 +++++------
.../hbase/procedure2/TestForceUpdateProcedure.java | 50 +++++++--------
.../hadoop/hbase/procedure2/TestLockAndQueue.java | 17 ++---
.../hbase/procedure2/TestProcedureBypass.java | 38 +++++-------
.../hbase/procedure2/TestProcedureCleanup.java | 33 +++++-----
.../hbase/procedure2/TestProcedureEvents.java | 25 +++-----
.../hbase/procedure2/TestProcedureExecution.java | 59 +++++++++---------
.../hbase/procedure2/TestProcedureExecutor.java | 33 +++++-----
.../procedure2/TestProcedureInMemoryChore.java | 31 ++++------
.../hbase/procedure2/TestProcedureMetrics.java | 72 ++++++++++------------
.../hbase/procedure2/TestProcedureNonce.java | 39 ++++++------
.../hbase/procedure2/TestProcedureRecovery.java | 28 ++++-----
.../hbase/procedure2/TestProcedureReplayOrder.java | 33 +++++-----
.../procedure2/TestProcedureRollbackAIOOB.java | 36 +++++------
.../TestProcedureSchedulerConcurrency.java | 20 +++---
.../procedure2/TestProcedureSkipPersistence.java | 24 +++-----
.../hbase/procedure2/TestProcedureSuspended.java | 48 +++++++--------
.../hbase/procedure2/TestProcedureToString.java | 15 ++---
.../hadoop/hbase/procedure2/TestProcedureUtil.java | 27 ++++----
...rocedureDispatcherUncaughtExceptionHandler.java | 39 +++++-------
.../hadoop/hbase/procedure2/TestStackIdHoles.java | 21 +++----
.../procedure2/TestStateMachineProcedure.java | 28 ++++-----
.../hbase/procedure2/TestYieldProcedures.java | 35 +++++------
.../hbase/procedure2/store/TestProcedureTree.java | 16 ++---
.../hbase/procedure2/store/wal/TestBitSetNode.java | 19 +++---
.../store/wal/TestProcedureStoreTracker.java | 31 +++++-----
.../store/wal/TestStressWALProcedureStore.java | 31 ++++------
.../store/wal/TestWALProcedureStore.java | 55 ++++++++---------
.../hbase/procedure2/util/TestDelayedUtil.java | 19 +++---
31 files changed, 433 insertions(+), 566 deletions(-)
diff --git a/hbase-procedure/pom.xml b/hbase-procedure/pom.xml
index 39cb1db0e2b..409517edd78 100644
--- a/hbase-procedure/pom.xml
+++ b/hbase-procedure/pom.xml
@@ -91,11 +91,6 @@
<artifactId>junit-jupiter-params</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- <scope>test</scope>
- </dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-metrics-api</artifactId>
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.java
index 32be56e44db..1efab6f5d3a 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/ProcedureTestingUtility.java
@@ -17,9 +17,12 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
@@ -264,8 +267,8 @@ public final class ProcedureTestingUtility {
if (
procExecutor.testing.killBeforeStoreUpdate ||
procExecutor.testing.toggleKillBeforeStoreUpdate
) {
- assertEquals("expected only one executor running during test with
kill/restart", 1,
- procExecutor.getCorePoolSize());
+ assertEquals(1, procExecutor.getCorePoolSize(),
+ "expected only one executor running during test with kill/restart");
}
}
@@ -342,48 +345,48 @@ public final class ProcedureTestingUtility {
public static <TEnv> void assertProcNotYetCompleted(ProcedureExecutor<TEnv>
procExecutor,
long procId) {
- assertFalse("expected a running proc", procExecutor.isFinished(procId));
- assertEquals(null, procExecutor.getResult(procId));
+ assertFalse(procExecutor.isFinished(procId), "expected a running proc");
+ assertNull(procExecutor.getResult(procId));
}
public static <TEnv> void assertProcNotFailed(ProcedureExecutor<TEnv>
procExecutor, long procId) {
Procedure<?> result = procExecutor.getResult(procId);
- assertTrue("expected procedure result", result != null);
+ assertNotNull(result, "expected procedure result");
assertProcNotFailed(result);
}
public static void assertProcNotFailed(final Procedure<?> result) {
- assertFalse("found exception: " + result.getException(),
result.isFailed());
+ assertFalse(result.isFailed(), "found exception: " +
result.getException());
}
public static <TEnv> Throwable assertProcFailed(final
ProcedureExecutor<TEnv> procExecutor,
final long procId) {
Procedure<?> result = procExecutor.getResult(procId);
- assertTrue("expected procedure result", result != null);
+ assertNotNull(result, "expected procedure result");
return assertProcFailed(result);
}
public static Throwable assertProcFailed(final Procedure<?> result) {
- assertEquals(true, result.isFailed());
+ assertTrue(result.isFailed());
LOG.info("procId=" + result.getProcId() + " exception: " +
result.getException().getMessage());
return getExceptionCause(result);
}
public static void assertIsAbortException(final Procedure<?> result) {
Throwable cause = assertProcFailed(result);
- assertTrue("expected abort exception, got " + cause,
- cause instanceof ProcedureAbortedException);
+ assertInstanceOf(ProcedureAbortedException.class, cause,
+ "expected abort exception, got " + cause);
}
public static void assertIsTimeoutException(final Procedure<?> result) {
Throwable cause = assertProcFailed(result);
- assertTrue("expected TimeoutIOException, got " + cause, cause instanceof
TimeoutIOException);
+ assertInstanceOf(TimeoutIOException.class, cause, "expected
TimeoutIOException, got " + cause);
}
public static void assertIsIllegalArgumentException(final Procedure<?>
result) {
Throwable cause = assertProcFailed(result);
- assertTrue("expected IllegalArgumentIOException, got " + cause,
- cause instanceof IllegalArgumentIOException);
+ assertInstanceOf(IllegalArgumentIOException.class, cause,
+ "expected IllegalArgumentIOException, got " + cause);
}
public static Throwable getExceptionCause(final Procedure<?> procInfo) {
@@ -669,7 +672,7 @@ public final class ProcedureTestingUtility {
runnable.add(proc);
}
if (procIds != null) {
- assertTrue("procId=" + procId + " unexpected",
procIds.contains(procId));
+ assertTrue(procIds.contains(procId), "procId=" + procId + "
unexpected");
}
}
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestChildProcedures.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestChildProcedures.java
index b8642b675f5..011fb20491a 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestChildProcedures.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestChildProcedures.java
@@ -17,32 +17,27 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestChildProcedures {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestChildProcedures.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestChildProcedures.class);
private static final int PROCEDURE_EXECUTOR_SLOTS = 1;
@@ -56,7 +51,7 @@ public class TestChildProcedures {
private Path testDir;
private Path logDir;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
testDir = htu.getDataTestDir();
@@ -72,7 +67,7 @@ public class TestChildProcedures {
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -88,7 +83,7 @@ public class TestChildProcedures {
ProcedureTestingUtility.restart(procExecutor);
ProcedureTestingUtility.waitProcedure(procExecutor, proc);
- assertTrue("expected completed proc", procExecutor.isFinished(procId));
+ assertTrue(procExecutor.isFinished(procId), "expected completed proc");
ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);
}
@@ -105,7 +100,7 @@ public class TestChildProcedures {
restartCount++;
}
assertEquals(3, restartCount);
- assertTrue("expected completed proc", procExecutor.isFinished(procId));
+ assertTrue(procExecutor.isFinished(procId), "expected completed proc");
ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);
}
@@ -126,7 +121,7 @@ public class TestChildProcedures {
restartCount++;
}
assertEquals(4, restartCount);
- assertTrue("expected completed proc", procExecutor.isFinished(procId));
+ assertTrue(procExecutor.isFinished(procId), "expected completed proc");
ProcedureTestingUtility.assertProcNotFailed(procExecutor, procId);
}
@@ -161,9 +156,9 @@ public class TestChildProcedures {
}
private void assertProcFailed(long procId) {
- assertTrue("expected completed proc", procExecutor.isFinished(procId));
+ assertTrue(procExecutor.isFinished(procId), "expected completed proc");
Procedure<?> result = procExecutor.getResult(procId);
- assertEquals(true, result.isFailed());
+ assertTrue(result.isFailed());
LOG.info(result.getException().getMessage());
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestForceUpdateProcedure.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestForceUpdateProcedure.java
index e3965a51aa6..044c228a957 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestForceUpdateProcedure.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestForceUpdateProcedure.java
@@ -17,62 +17,55 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.Exchanger;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;
import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-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.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import
org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestForceUpdateProcedure {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestForceUpdateProcedure.class);
-
private static HBaseCommonTestingUtility UTIL = new
HBaseCommonTestingUtility();
private static WALProcedureStore STORE;
private static ProcedureExecutor<Void> EXEC;
- private static Exchanger<Boolean> EXCHANGER = new Exchanger<>();
+ private static final Exchanger<Boolean> EXCHANGER = new Exchanger<>();
- private static int WAL_COUNT = 5;
+ private static final int WAL_COUNT = 5;
- @Rule
- public final TestName name = new TestName();
+ private String methodName;
private void createStoreAndExecutor() throws IOException {
UTIL.getConfiguration().setInt(CompletedProcedureCleaner.CLEANER_INTERVAL_CONF_KEY,
1000);
- Path logDir = UTIL.getDataTestDir(name.getMethodName());
+ Path logDir = UTIL.getDataTestDir(methodName);
STORE = ProcedureTestingUtility.createWalStore(UTIL.getConfiguration(),
logDir);
STORE.start(1);
- EXEC = new ProcedureExecutor<Void>(UTIL.getConfiguration(), null, STORE);
+ EXEC = new ProcedureExecutor<>(UTIL.getConfiguration(), null, STORE);
ProcedureTestingUtility.initAndStartWorkers(EXEC, 1, true);
}
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws IOException {
UTIL.getConfiguration().setInt(WALProcedureStore.WAL_COUNT_WARN_THRESHOLD_CONF_KEY,
WAL_COUNT);
}
@@ -84,17 +77,18 @@ public class TestForceUpdateProcedure {
STORE = null;
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws IOException {
UTIL.cleanupTestDir();
}
- @Before
- public void setUp() throws IOException {
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws IOException {
+ methodName = testInfo.getTestMethod().get().getName();
createStoreAndExecutor();
}
- @After
+ @AfterEach
public void tearDown() {
stopStoreAndExecutor();
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestLockAndQueue.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestLockAndQueue.java
index 58c3bb3277a..e0374f461ab 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestLockAndQueue.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestLockAndQueue.java
@@ -17,26 +17,21 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.HashMap;
import java.util.Map;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestLockAndQueue {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestLockAndQueue.class);
-
@Test
public void testHasLockAccess() {
Map<Long, NoopProcedure<Void>> procMap = new HashMap<>();
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureBypass.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureBypass.java
index f4ec5a2ad56..ac2152f46b3 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureBypass.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureBypass.java
@@ -17,35 +17,30 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureBypass {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureBypass.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureBypass.class);
private static final int PROCEDURE_EXECUTOR_SLOTS = 1;
@@ -64,7 +59,7 @@ public class TestProcedureBypass {
private static class TestProcEnv {
}
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
htu = new HBaseCommonTestingUtility();
@@ -81,6 +76,13 @@ public class TestProcedureBypass {
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true);
}
+ @AfterAll
+ public static void tearDown() throws Exception {
+ procExecutor.stop();
+ procStore.stop(false);
+ procExecutor.join();
+ }
+
@Test
public void testBypassSuspendProcedure() throws Exception {
final SuspendProcedure proc = new SuspendProcedure();
@@ -157,13 +159,6 @@ public class TestProcedureBypass {
LOG.info("{} finished", proc);
}
- @AfterClass
- public static void tearDown() throws Exception {
- procExecutor.stop();
- procStore.stop(false);
- procExecutor.join();
- }
-
public static class SuspendProcedure extends
ProcedureTestingUtility.NoopProcedure<TestProcEnv> {
public SuspendProcedure() {
@@ -284,5 +279,4 @@ public class TestProcedureBypass {
return tState.ordinal();
}
}
-
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureCleanup.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureCleanup.java
index f54af62ef70..5450e12a16b 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureCleanup.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureCleanup.java
@@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.Arrays;
@@ -28,29 +28,24 @@ import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.common.io.ByteStreams;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureCleanup {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureCleanup.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureCleanup.class);
private static final int PROCEDURE_EXECUTOR_SLOTS = 2;
@@ -65,18 +60,17 @@ public class TestProcedureCleanup {
private static Path testDir;
private static Path logDir;
- @Rule
- public final TestName name = new TestName();
+ private String methodName;
private void createProcExecutor() throws Exception {
- logDir = new Path(testDir, name.getMethodName());
+ logDir = new Path(testDir, methodName);
procStore = ProcedureTestingUtility.createWalStore(htu.getConfiguration(),
logDir);
procExecutor = new ProcedureExecutor<>(htu.getConfiguration(), null,
procStore);
procStore.start(PROCEDURE_EXECUTOR_SLOTS);
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true, true);
}
- @BeforeClass
+ @BeforeAll
public static void setUp() throws Exception {
htu = new HBaseCommonTestingUtility();
htu.getConfiguration().setBoolean(WALProcedureStore.EXEC_WAL_CLEANUP_ON_LOAD_CONF_KEY,
true);
@@ -86,6 +80,11 @@ public class TestProcedureCleanup {
assertTrue(testDir.depth() > 1);
}
+ @BeforeEach
+ public void setUpEach(TestInfo testInfo) throws Exception {
+ methodName = testInfo.getTestMethod().get().getName();
+ }
+
@Test
public void testProcedureShouldNotCleanOnLoad() throws Exception {
createProcExecutor();
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.java
index 039b25d347e..ffbdab31ddb 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureEvents.java
@@ -17,23 +17,21 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.MediumTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,13 +39,10 @@ import
org.apache.hbase.thirdparty.com.google.protobuf.Int32Value;
import
org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState;
-@Category({ MasterTests.class, MediumTests.class })
+@Tag(MasterTests.TAG)
+@Tag(MediumTests.TAG)
public class TestProcedureEvents {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureEvents.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureEvents.class);
private TestProcEnv procEnv;
@@ -58,7 +53,7 @@ public class TestProcedureEvents {
private FileSystem fs;
private Path logDir;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
Path testDir = htu.getDataTestDir();
@@ -72,7 +67,7 @@ public class TestProcedureEvents {
ProcedureTestingUtility.initAndStartWorkers(procExecutor, 1, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -174,7 +169,7 @@ public class TestProcedureEvents {
@Override
protected synchronized boolean setTimeoutFailure(final TestProcEnv env) {
int n = ntimeouts.incrementAndGet();
- LOG.info("HANDLE TIMEOUT " + this + " ntimeouts=" + n);
+ LOG.info("HANDLE TIMEOUT {} ntimeouts={}", this, n);
setState(ProcedureState.RUNNABLE);
event.wake((AbstractProcedureScheduler) env.getProcedureScheduler());
return false;
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.java
index a89f0f64ca7..dbb56b4165b 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureExecution.java
@@ -17,8 +17,9 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
@@ -26,27 +27,23 @@ import java.util.List;
import java.util.Objects;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import
org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureExecution {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureExecution.class);
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureExecution.class);
@@ -61,7 +58,7 @@ public class TestProcedureExecution {
private Path testDir;
private Path logDir;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
testDir = htu.getDataTestDir();
@@ -75,7 +72,7 @@ public class TestProcedureExecution {
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -149,10 +146,10 @@ public class TestProcedureExecution {
// failed state with 2 execute and 2 rollback
LOG.info(Objects.toString(state));
Procedure<?> result = procExecutor.getResult(rootId);
- assertTrue(state.toString(), result.isFailed());
+ assertTrue(result.isFailed(), state.toString());
ProcedureTestingUtility.assertIsIllegalArgumentException(result);
- assertEquals(state.toString(), 4, state.size());
+ assertEquals(4, state.size(), state.toString());
assertEquals("rootProc-execute", state.get(0));
assertEquals("subProc1-execute", state.get(1));
assertEquals("subProc1-rollback", state.get(2));
@@ -171,7 +168,7 @@ public class TestProcedureExecution {
LOG.info(Objects.toString(state));
Procedure<?> result = procExecutor.getResult(rootId);
ProcedureTestingUtility.assertProcNotFailed(result);
- assertEquals(state.toString(), 3, state.size());
+ assertEquals(3, state.size(), state.toString());
}
@Test
@@ -186,13 +183,13 @@ public class TestProcedureExecution {
// the 3rd proc fail, rollback after 2 successful execution
LOG.info(Objects.toString(state));
Procedure<?> result = procExecutor.getResult(rootId);
- assertTrue(state.toString(), result.isFailed());
+ assertTrue(result.isFailed(), state.toString());
LOG.info(result.getException().getMessage());
Throwable cause = ProcedureTestingUtility.getExceptionCause(result);
- assertTrue("expected TestProcedureException, got " + cause,
- cause instanceof TestProcedureException);
+ assertTrue(cause instanceof TestProcedureException,
+ "expected TestProcedureException, got " + cause);
- assertEquals(state.toString(), 6, state.size());
+ assertEquals(6, state.size(), state.toString());
assertEquals("rootProc-execute", state.get(0));
assertEquals("subProc1-execute", state.get(1));
assertEquals("subProc2-execute", state.get(2));
@@ -216,10 +213,10 @@ public class TestProcedureExecution {
@Override
protected void rollback(Void env) throws IOException {
if (++retries < 3) {
- LOG.info("inject rollback failure " + retries);
+ LOG.info("inject rollback failure {}", retries);
throw new IOException("injected failure number " + retries);
}
- LOG.info("execute non faulty rollback step retries=" + retries);
+ LOG.info("execute non faulty rollback step retries={}", retries);
}
@Override
@@ -233,11 +230,11 @@ public class TestProcedureExecution {
long procId = ProcedureTestingUtility.submitAndWait(procExecutor, new
TestFaultyRollback());
Procedure<?> result = procExecutor.getResult(procId);
- assertTrue("expected a failure", result.isFailed());
+ assertTrue(result.isFailed(), "expected a failure");
LOG.info(result.getException().getMessage());
Throwable cause = ProcedureTestingUtility.getExceptionCause(result);
- assertTrue("expected TestProcedureException, got " + cause,
- cause instanceof TestProcedureException);
+ assertInstanceOf(TestProcedureException.class, cause,
+ "expected TestProcedureException, got " + cause);
}
public static class TestWaitingProcedure extends SequentialProcedure<Void> {
@@ -315,11 +312,11 @@ public class TestProcedureExecution {
long rootId = ProcedureTestingUtility.submitAndWait(procExecutor, proc);
long execTime = EnvironmentEdgeManager.currentTime() - startTime;
LOG.info(Objects.toString(state));
- assertTrue("we didn't wait enough execTime=" + execTime, execTime >=
PROC_TIMEOUT_MSEC);
+ assertTrue(execTime >= PROC_TIMEOUT_MSEC, "we didn't wait enough
execTime=" + execTime);
Procedure<?> result = procExecutor.getResult(rootId);
- assertTrue(state.toString(), result.isFailed());
+ assertTrue(result.isFailed(), state.toString());
ProcedureTestingUtility.assertIsTimeoutException(result);
- assertEquals(state.toString(), 2, state.size());
+ assertEquals(2, state.size(), state.toString());
assertEquals("wproc-execute", state.get(0));
assertEquals("wproc-rollback", state.get(1));
}
@@ -332,9 +329,9 @@ public class TestProcedureExecution {
long rootId = ProcedureTestingUtility.submitAndWait(procExecutor, proc);
LOG.info(Objects.toString(state));
Procedure<?> result = procExecutor.getResult(rootId);
- assertTrue(state.toString(), result.isFailed());
+ assertTrue(result.isFailed(), state.toString());
ProcedureTestingUtility.assertIsTimeoutException(result);
- assertEquals(state.toString(), 3, state.size());
+ assertEquals(3, state.size(), state.toString());
assertEquals("wproc-execute", state.get(0));
assertEquals("wproc-child-execute", state.get(1));
assertEquals("wproc-rollback", state.get(2));
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.java
index 41f521cd29a..5959ca524b3 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureExecutor.java
@@ -17,33 +17,30 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;
import org.apache.hadoop.hbase.procedure2.store.NoopProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Threads;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureExecutor {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureExecutor.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureExecutor.class);
private TestProcEnv procEnv;
@@ -52,7 +49,7 @@ public class TestProcedureExecutor {
private HBaseCommonTestingUtility htu;
- @Before
+ @BeforeEach
public void setUp() throws Exception {
htu = new HBaseCommonTestingUtility();
@@ -62,7 +59,7 @@ public class TestProcedureExecutor {
procStore.start(1);
}
- @After
+ @AfterEach
public void tearDown() throws Exception {
procExecutor.stop();
procStore.stop(false);
@@ -106,9 +103,9 @@ public class TestProcedureExecutor {
assertEquals(true, procExecutor.isFinished(otherProcId));
ProcedureTestingUtility.assertProcNotFailed(procExecutor, otherProcId);
- assertEquals(true, procExecutor.isRunning());
- assertEquals(false, procExecutor.isFinished(busyProcId1));
- assertEquals(false, procExecutor.isFinished(busyProcId2));
+ assertTrue(procExecutor.isRunning());
+ assertFalse(procExecutor.isFinished(busyProcId1));
+ assertFalse(procExecutor.isFinished(busyProcId2));
// terminate the busy procedures
latch1.release();
@@ -117,7 +114,7 @@ public class TestProcedureExecutor {
LOG.info("set keep alive and wait threads being removed");
procExecutor.setKeepAliveTime(500L, TimeUnit.MILLISECONDS);
int threads2 = waitThreadCount(NUM_THREADS);
- LOG.info("threads got removed: " + (threads1 - threads2));
+ LOG.info("threads got removed: {}", threads1 - threads2);
assertEquals(NUM_THREADS, threads2);
// terminate the busy procedures
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.java
index 9e83cc2e9e4..4a196494154 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureInMemoryChore.java
@@ -17,32 +17,27 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.NoopProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureInMemoryChore {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureInMemoryChore.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureInMemoryChore.class);
private static final int PROCEDURE_EXECUTOR_SLOTS = 1;
@@ -53,7 +48,7 @@ public class TestProcedureInMemoryChore {
private HBaseCommonTestingUtility htu;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
@@ -65,7 +60,7 @@ public class TestProcedureInMemoryChore {
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -89,9 +84,9 @@ public class TestProcedureInMemoryChore {
latch = new CountDownLatch(nCountDown);
chore.setLatch(latch);
latch.await(timeoutMSec * nCountDown, TimeUnit.MILLISECONDS);
- LOG.info("chore latch count=" + latch.getCount());
+ LOG.info("chore latch count={}", latch.getCount());
assertFalse(chore.isWaiting());
- assertTrue("latchCount=" + latch.getCount(), latch.getCount() > 0);
+ assertTrue(latch.getCount() > 0, "latchCount=" + latch.getCount());
}
public static class TestLatchChore extends
ProcedureInMemoryChore<TestProcEnv> {
@@ -108,7 +103,7 @@ public class TestProcedureInMemoryChore {
@Override
protected void periodicExecute(final TestProcEnv env) {
- LOG.info("periodic execute " + this);
+ LOG.info("periodic execute {}", this);
latch.countDown();
}
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.java
index 345ee520b5f..a50ca7e04cf 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureMetrics.java
@@ -17,33 +17,25 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@Category({ MasterTests.class, SmallTests.class })
-public class TestProcedureMetrics {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureMetrics.class);
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
- private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureMetrics.class);
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
+public class TestProcedureMetrics {
private static final int PROCEDURE_EXECUTOR_SLOTS = 1;
@@ -60,7 +52,7 @@ public class TestProcedureMetrics {
private static int successCount = 0;
private static int failedCount = 0;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
testDir = htu.getDataTestDir();
@@ -76,7 +68,7 @@ public class TestProcedureMetrics {
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -88,13 +80,13 @@ public class TestProcedureMetrics {
// procedure that executes successfully
ProcedureMetrics proc = new ProcedureMetrics(true);
long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);
- assertNotEquals("ProcId zero!", 0, id);
+ assertNotEquals(0, id, "ProcId zero!");
beginCount++;
successCount++;
ProcedureTestingUtility.waitProcedure(procExecutor, proc);
- assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);
- assertEquals("successCount doesn't match!", successCount,
proc.successCount);
- assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);
+ assertEquals(beginCount, proc.beginCount, "beginCount doesn't match!");
+ assertEquals(successCount, proc.successCount, "successCount doesn't
match!");
+ assertEquals(failedCount, proc.failedCount, "failedCont doesn't match!");
}
@Test
@@ -102,13 +94,13 @@ public class TestProcedureMetrics {
// procedure that fails
ProcedureMetrics proc = new ProcedureMetrics(false);
long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);
- assertNotEquals("ProcId zero!", 0, id);
+ assertNotEquals(0, id, "ProcId zero!");
beginCount++;
failedCount++;
ProcedureTestingUtility.waitProcedure(procExecutor, proc);
- assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);
- assertEquals("successCount doesn't match!", successCount,
proc.successCount);
- assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);
+ assertEquals(beginCount, proc.beginCount, "beginCount doesn't match!");
+ assertEquals(successCount, proc.successCount, "successCount doesn't
match!");
+ assertEquals(failedCount, proc.failedCount, "failedCont doesn't match!");
}
@Test
@@ -116,13 +108,13 @@ public class TestProcedureMetrics {
// procedure that yields
ProcedureMetrics proc = new ProcedureMetrics(true, true);
long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);
- assertNotEquals("ProcId zero!", 0, id);
+ assertNotEquals(0, id, "ProcId zero!");
beginCount++;
successCount++;
ProcedureTestingUtility.waitProcedure(procExecutor, proc);
- assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);
- assertEquals("successCount doesn't match!", successCount,
proc.successCount);
- assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);
+ assertEquals(beginCount, proc.beginCount, "beginCount doesn't match!");
+ assertEquals(successCount, proc.successCount, "successCount doesn't
match!");
+ assertEquals(failedCount, proc.failedCount, "failedCont doesn't match!");
}
@Test
@@ -130,13 +122,13 @@ public class TestProcedureMetrics {
// procedure that yields and fails
ProcedureMetrics proc = new ProcedureMetrics(false, true);
long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);
- assertNotEquals("ProcId zero!", 0, id);
+ assertNotEquals(0, id, "ProcId zero!");
beginCount++;
failedCount++;
ProcedureTestingUtility.waitProcedure(procExecutor, proc);
- assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);
- assertEquals("successCount doesn't match!", successCount,
proc.successCount);
- assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);
+ assertEquals(beginCount, proc.beginCount, "beginCount doesn't match!");
+ assertEquals(successCount, proc.successCount, "successCount doesn't
match!");
+ assertEquals(failedCount, proc.failedCount, "failedCont doesn't match!");
}
@Test
@@ -152,7 +144,7 @@ public class TestProcedureMetrics {
ProcedureMetrics proc = new ProcedureMetrics(true, true, 3, subprocs);
long id = ProcedureTestingUtility.submitAndWait(procExecutor, proc);
- assertNotEquals("ProcId zero!", 0, id);
+ assertNotEquals(0, id, "ProcId zero!");
beginCount += subProcCount + 1;
successCount += subProcCount - (failChildIndex + 1);
if (failChildIndex >= 0) {
@@ -161,9 +153,9 @@ public class TestProcedureMetrics {
successCount++;
}
ProcedureTestingUtility.waitProcedure(procExecutor, proc);
- assertEquals("beginCount doesn't match!", beginCount, proc.beginCount);
- assertEquals("successCount doesn't match!", successCount,
proc.successCount);
- assertEquals("failedCont doesn't match!", failedCount, proc.failedCount);
+ assertEquals(beginCount, proc.beginCount, "beginCount doesn't match!");
+ assertEquals(successCount, proc.successCount, "successCount doesn't
match!");
+ assertEquals(failedCount, proc.failedCount, "failedCont doesn't match!");
}
private static class TestProcEnv {
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.java
index 6ebc51471a7..dd95a97ccf5 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureNonce.java
@@ -17,16 +17,16 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.security.User;
@@ -35,19 +35,16 @@ import
org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.NonceKey;
import org.apache.hadoop.hbase.util.Threads;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureNonce {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureNonce.class);
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureNonce.class);
@@ -61,7 +58,7 @@ public class TestProcedureNonce {
private FileSystem fs;
private Path logDir;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
Path testDir = htu.getDataTestDir();
@@ -77,7 +74,7 @@ public class TestProcedureNonce {
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -190,8 +187,8 @@ public class TestProcedureNonce {
public void run() {
try {
// release the nonce and wake t2
- assertFalse("unexpected already registered nonce",
- procExecutor.registerNonce(nonceKey) >= 0);
+ assertFalse(procExecutor.registerNonce(nonceKey) >= 0,
+ "unexpected already registered nonce");
t1NonceRegisteredLatch.countDown();
// hold the submission until t2 is registering the nonce
@@ -229,7 +226,7 @@ public class TestProcedureNonce {
// register the nonce
t2BeforeNonceRegisteredLatch.countDown();
- assertFalse("unexpected non registered nonce",
procExecutor.registerNonce(nonceKey) < 0);
+ assertFalse(procExecutor.registerNonce(nonceKey) < 0, "unexpected
non registered nonce");
} catch (Throwable e) {
t2Exception.set(e);
} finally {
@@ -248,8 +245,8 @@ public class TestProcedureNonce {
}
ProcedureTestingUtility.waitNoProcedureRunning(procExecutor);
- assertEquals(null, t1Exception.get());
- assertEquals(null, t2Exception.get());
+ assertNull(t1Exception.get());
+ assertNull(t2Exception.get());
}
public static class TestSingleStepProcedure extends
SequentialProcedure<TestProcEnv> {
@@ -262,7 +259,7 @@ public class TestProcedureNonce {
protected Procedure[] execute(TestProcEnv env) throws InterruptedException
{
step++;
env.waitOnLatch();
- LOG.debug("execute procedure " + this + " step=" + step);
+ LOG.debug("execute procedure {} step={}", this, step);
step++;
setResult(Bytes.toBytes(step));
return null;
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.java
index 8fd02e412d8..526a90cbbac 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureRecovery.java
@@ -17,9 +17,9 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
@@ -27,7 +27,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
@@ -35,21 +34,18 @@ import
org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.Threads;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.protobuf.Int32Value;
-@Category({ MasterTests.class, MediumTests.class })
+@Tag(MasterTests.TAG)
+@Tag(MediumTests.TAG)
public class TestProcedureRecovery {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureRecovery.class);
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureRecovery.class);
@@ -65,7 +61,7 @@ public class TestProcedureRecovery {
private Path testDir;
private Path logDir;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
testDir = htu.getDataTestDir();
@@ -82,7 +78,7 @@ public class TestProcedureRecovery {
procSleepInterval = 0;
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -531,7 +527,7 @@ public class TestProcedureRecovery {
FileStatus[] files = fs.listStatus(logDir);
if (files != null && files.length > 0) {
for (FileStatus file : files) {
- assertTrue(file.toString(), file.isFile());
+ assertTrue(file.isFile(), file.toString());
LOG.debug("log file " + file.getPath() + " size=" + file.getLen());
}
} else {
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.java
index c2564eabd72..f54051cf0e8 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureReplayOrder.java
@@ -17,27 +17,25 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,13 +45,10 @@ import
org.apache.hbase.thirdparty.com.google.protobuf.Int64Value;
* For now we do not guarantee this, we will restore the locks when restarting
ProcedureExecutor so
* we should use lock to obtain the correct order. Ignored.
*/
-@Ignore
-@Category({ MasterTests.class, SmallTests.class })
+@Disabled
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureReplayOrder {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureReplayOrder.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureReplayOrder.class);
private static final int NUM_THREADS = 16;
@@ -67,7 +62,7 @@ public class TestProcedureReplayOrder {
private Path testDir;
private Path logDir;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
htu.getConfiguration().setInt(WALProcedureStore.SYNC_WAIT_MSEC_CONF_KEY,
25);
@@ -84,7 +79,7 @@ public class TestProcedureReplayOrder {
ProcedureTestingUtility.initAndStartWorkers(procExecutor, 1, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -184,7 +179,7 @@ public class TestProcedureReplayOrder {
for (int i = 0; i < execList.size() - 1; ++i) {
TestProcedure a = execList.get(i);
TestProcedure b = execList.get(i + 1);
- assertTrue("exec list not sorted: " + a + " < " + b, a.getExecId() >
b.getExecId());
+ assertTrue(a.getExecId() > b.getExecId(), "exec list not sorted: " + a
+ " < " + b);
}
}
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureRollbackAIOOB.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureRollbackAIOOB.java
index 21d8efb1d15..de2d38599e9 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureRollbackAIOOB.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureRollbackAIOOB.java
@@ -19,29 +19,24 @@ package org.apache.hadoop.hbase.procedure2;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;
import org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.MediumTests;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.TestName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInfo;
/**
* Testcase for HBASE-20973
*/
-@Category({ MasterTests.class, MediumTests.class })
+@Tag(MasterTests.TAG)
+@Tag(MediumTests.TAG)
public class TestProcedureRollbackAIOOB {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureRollbackAIOOB.class);
private static final HBaseCommonTestingUtility UTIL = new
HBaseCommonTestingUtility();
@@ -77,25 +72,22 @@ public class TestProcedureRollbackAIOOB {
private ProcedureExecutor<Void> procExec;
- @Rule
- public final TestName name = new TestName();
-
- @Before
- public void setUp() throws IOException {
+ @BeforeEach
+ public void setUp(TestInfo testInfo) throws IOException {
procStore = ProcedureTestingUtility.createWalStore(UTIL.getConfiguration(),
- UTIL.getDataTestDir(name.getMethodName()));
+ UTIL.getDataTestDir(testInfo.getTestMethod().get().getName()));
procStore.start(2);
- procExec = new ProcedureExecutor<Void>(UTIL.getConfiguration(), null,
procStore);
+ procExec = new ProcedureExecutor<>(UTIL.getConfiguration(), null,
procStore);
ProcedureTestingUtility.initAndStartWorkers(procExec, 2, true);
}
- @After
+ @AfterEach
public void tearDown() {
procExec.stop();
procStore.stop(false);
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws IOException {
UTIL.cleanupTestDir();
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.java
index 186d3859534..662a871e7e1 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSchedulerConcurrency.java
@@ -20,37 +20,33 @@ package org.apache.hadoop.hbase.procedure2;
import java.io.IOException;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.hadoop.hbase.util.Threads;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureSchedulerConcurrency {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureSchedulerConcurrency.class);
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureEvents.class);
private SimpleProcedureScheduler procSched;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
procSched = new SimpleProcedureScheduler();
procSched.start();
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procSched.stop();
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSkipPersistence.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSkipPersistence.java
index 108acd11af6..1119872e841 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSkipPersistence.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSkipPersistence.java
@@ -17,31 +17,27 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureSkipPersistence {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureSkipPersistence.class);
private ProcedureExecutor<ProcEnv> procExecutor;
private ProcedureStore procStore;
@@ -123,7 +119,7 @@ public class TestProcedureSkipPersistence {
}
}
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
testDir = htu.getDataTestDir();
@@ -137,7 +133,7 @@ public class TestProcedureSkipPersistence {
ProcedureTestingUtility.initAndStartWorkers(procExecutor, 1, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.java
index 94c48647635..52a2d39a6f1 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureSuspended.java
@@ -17,32 +17,30 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.NoopProcedureStore;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Threads;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureSuspended {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureSuspended.class);
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureSuspended.class);
@@ -54,7 +52,7 @@ public class TestProcedureSuspended {
private HBaseCommonTestingUtility htu;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
@@ -64,7 +62,7 @@ public class TestProcedureSuspended {
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -87,8 +85,8 @@ public class TestProcedureSuspended {
waitAndAssertTimestamp(p1keyA, 1, 1);
waitAndAssertTimestamp(p2keyA, 0, -1);
waitAndAssertTimestamp(p3keyB, 1, 2);
- assertEquals(true, lockA.get());
- assertEquals(true, lockB.get());
+ assertTrue(lockA.get());
+ assertTrue(lockB.get());
// release p3
p3keyB.setThrowSuspend(false);
@@ -96,11 +94,11 @@ public class TestProcedureSuspended {
waitAndAssertTimestamp(p1keyA, 1, 1);
waitAndAssertTimestamp(p2keyA, 0, -1);
waitAndAssertTimestamp(p3keyB, 2, 3);
- assertEquals(true, lockA.get());
+ assertTrue(lockA.get());
// wait until p3 is fully completed
ProcedureTestingUtility.waitProcedure(procExecutor, p3keyB);
- assertEquals(false, lockB.get());
+ assertFalse(lockB.get());
// rollback p2 and wait until is fully completed
p1keyA.setTriggerRollback(true);
@@ -111,7 +109,7 @@ public class TestProcedureSuspended {
waitAndAssertTimestamp(p1keyA, 4, 60000);
waitAndAssertTimestamp(p2keyA, 1, 7);
waitAndAssertTimestamp(p3keyB, 2, 3);
- assertEquals(true, lockA.get());
+ assertTrue(lockA.get());
// wait until p2 is fully completed
p2keyA.setThrowSuspend(false);
@@ -120,8 +118,8 @@ public class TestProcedureSuspended {
waitAndAssertTimestamp(p1keyA, 4, 60000);
waitAndAssertTimestamp(p2keyA, 2, 8);
waitAndAssertTimestamp(p3keyB, 2, 3);
- assertEquals(false, lockA.get());
- assertEquals(false, lockB.get());
+ assertFalse(lockA.get());
+ assertFalse(lockB.get());
}
@Test
@@ -164,7 +162,7 @@ public class TestProcedureSuspended {
Threads.sleep(10);
}
- LOG.info(proc + " -> " + timestamps);
+ LOG.info("{} -> {}", proc, timestamps);
assertEquals(size, timestamps.size());
if (size > 0) {
assertEquals(lastTs, timestamps.get(timestamps.size() - 1).longValue());
@@ -204,7 +202,7 @@ public class TestProcedureSuspended {
@Override
protected Procedure[] execute(final TestProcEnv env)
throws ProcedureYieldException, ProcedureSuspendedException {
- LOG.info("EXECUTE " + this + " suspend " + (lock != null));
+ LOG.info("EXECUTE {} suspend {}", this, lock != null);
timestamps.add(env.nextTimestamp());
if (triggerRollback) {
setFailure(getClass().getSimpleName(), new Exception("injected
failure"));
@@ -218,7 +216,7 @@ public class TestProcedureSuspended {
@Override
protected void rollback(final TestProcEnv env) {
- LOG.info("ROLLBACK " + this);
+ LOG.info("ROLLBACK {}", this);
timestamps.add(env.nextTimestamp() * 10000);
}
@@ -226,7 +224,7 @@ public class TestProcedureSuspended {
protected LockState acquireLock(final TestProcEnv env) {
hasLock = lock.compareAndSet(false, true);
if (hasLock) {
- LOG.info("ACQUIRE LOCK " + this + " " + (hasLock));
+ LOG.info("ACQUIRE LOCK {} {}", this, hasLock);
return LockState.LOCK_ACQUIRED;
}
return LockState.LOCK_YIELD_WAIT;
@@ -234,7 +232,7 @@ public class TestProcedureSuspended {
@Override
protected void releaseLock(final TestProcEnv env) {
- LOG.info("RELEASE LOCK " + this + " " + hasLock);
+ LOG.info("RELEASE LOCK {} {}", this, hasLock);
lock.set(false);
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureToString.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureToString.java
index 1ff020d19f1..54827c8f833 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureToString.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureToString.java
@@ -17,26 +17,21 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ServerCrashState;
import
org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureToString {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureToString.class);
-
/**
* A do-nothing environment for BasicProcedure.
*/
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureUtil.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureUtil.java
index 885ba88a832..5d35882d4cf 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureUtil.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestProcedureUtil.java
@@ -17,33 +17,32 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.TestProcedure;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureUtil {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureUtil.class);
-
@Test
public void testValidation() throws Exception {
ProcedureUtil.validateClass(new TestProcedure(10));
}
- @Test(expected = BadProcedureException.class)
+ @Test
public void testNoDefaultConstructorValidation() throws Exception {
- ProcedureUtil.validateClass(new TestProcedureNoDefaultConstructor(1));
+ assertThrows(BadProcedureException.class, () -> {
+ ProcedureUtil.validateClass(new TestProcedureNoDefaultConstructor(1));
+ });
}
@Test
@@ -53,8 +52,8 @@ public class TestProcedureUtil {
final ProcedureProtos.Procedure proto1 =
ProcedureUtil.convertToProtoProcedure(proc1);
final TestProcedure proc2 = (TestProcedure)
ProcedureUtil.convertToProcedure(proto1);
final ProcedureProtos.Procedure proto2 =
ProcedureUtil.convertToProtoProcedure(proc2);
- assertEquals(false, proto2.hasResult());
- assertEquals("Procedure protobuf does not match", proto1, proto2);
+ assertFalse(proto2.hasResult());
+ assertEquals(proto1, proto2, "Procedure protobuf does not match");
}
public static class TestProcedureNoDefaultConstructor extends TestProcedure {
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestRemoteProcedureDispatcherUncaughtExceptionHandler.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestRemoteProcedureDispatcherUncaughtExceptionHandler.java
index 3bf6c474114..4cb9bc64a26 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestRemoteProcedureDispatcherUncaughtExceptionHandler.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestRemoteProcedureDispatcherUncaughtExceptionHandler.java
@@ -17,20 +17,19 @@
*/
package org.apache.hadoop.hbase.procedure2;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
import java.lang.Thread.UncaughtExceptionHandler;
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-import org.junit.rules.ExpectedException;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
/**
* Make sure the {@link UncaughtExceptionHandler} will be called when there
are unchecked exceptions
@@ -38,15 +37,12 @@ import org.junit.rules.ExpectedException;
* <p/>
* See HBASE-21875 and HBASE-21890 for more details.
*/
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestRemoteProcedureDispatcherUncaughtExceptionHandler {
private static HBaseCommonTestingUtility UTIL = new
HBaseCommonTestingUtility();
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
-
HBaseClassTestRule.forClass(TestRemoteProcedureDispatcherUncaughtExceptionHandler.class);
-
private static final class ExceptionHandler implements
UncaughtExceptionHandler {
private Throwable error;
@@ -88,21 +84,18 @@ public class
TestRemoteProcedureDispatcherUncaughtExceptionHandler {
}
}
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
private ExceptionHandler handler;
private Dispatcher dispatcher;
- @Before
+ @BeforeEach
public void setUp() {
handler = new ExceptionHandler();
dispatcher = new Dispatcher(handler);
dispatcher.start();
}
- @After
+ @AfterEach
public void tearDown() {
dispatcher.stop();
dispatcher = null;
@@ -112,8 +105,6 @@ public class
TestRemoteProcedureDispatcherUncaughtExceptionHandler {
@Test
public void testSubmit() throws Throwable {
String message = "inject error";
- thrown.expect(RuntimeException.class);
- thrown.expectMessage(message);
dispatcher.submitTask(new Runnable() {
@Override
@@ -121,14 +112,13 @@ public class
TestRemoteProcedureDispatcherUncaughtExceptionHandler {
throw new RuntimeException(message);
}
});
- handler.get();
+ RuntimeException exception = assertThrows(RuntimeException.class, () ->
handler.get());
+ assertEquals(message, exception.getMessage());
}
@Test
public void testDelayedSubmit() throws Throwable {
String message = "inject error";
- thrown.expect(RuntimeException.class);
- thrown.expectMessage(message);
dispatcher.submitTask(new Runnable() {
@Override
@@ -136,6 +126,7 @@ public class
TestRemoteProcedureDispatcherUncaughtExceptionHandler {
throw new RuntimeException(message);
}
}, 100, TimeUnit.MILLISECONDS);
- handler.get();
+ RuntimeException exception = assertThrows(RuntimeException.class, () ->
handler.get());
+ assertEquals(message, exception.getMessage());
}
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestStackIdHoles.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestStackIdHoles.java
index b4addae22d8..e4a978b4a0f 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestStackIdHoles.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestStackIdHoles.java
@@ -22,7 +22,6 @@ import java.io.UncheckedIOException;
import java.util.LinkedHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStoreBase;
@@ -30,11 +29,10 @@ import
org.apache.hadoop.hbase.procedure2.store.ProcedureTree;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.AtomicUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos;
@@ -43,13 +41,10 @@ import
org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos;
* {@link RootProcedureState} first and then crash, and then cause holes in
stack ids when loading,
* and finally fail the start up of master.
*/
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestStackIdHoles {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestStackIdHoles.class);
-
private final class DummyProcedureStore extends ProcedureStoreBase {
private int numThreads;
@@ -193,7 +188,7 @@ public class TestStackIdHoles {
private ProcedureExecutor<Void> procExec;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
procStore = new DummyProcedureStore();
procStore.start(4);
@@ -202,7 +197,7 @@ public class TestStackIdHoles {
procExec.startWorkers();
}
- @After
+ @AfterEach
public void tearDown() {
procExec.stop();
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.java
index 831ff59aac1..f07cb6ec89d 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestStateMachineProcedure.java
@@ -17,32 +17,28 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.NoopProcedure;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.MediumTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, MediumTests.class })
+@Tag(MasterTests.TAG)
+@Tag(MediumTests.TAG)
public class TestStateMachineProcedure {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestStateMachineProcedure.class);
private static final Logger LOG =
LoggerFactory.getLogger(TestStateMachineProcedure.class);
@@ -81,7 +77,7 @@ public class TestStateMachineProcedure {
private Path testDir;
private Path logDir;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
testDir = htu.getDataTestDir();
@@ -94,10 +90,10 @@ public class TestStateMachineProcedure {
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(procExecutor,
false);
- assertTrue("expected executor to be running", procExecutor.isRunning());
+ assertTrue(procExecutor.isRunning(), "expected executor to be running");
procExecutor.stop();
procStore.stop(false);
@@ -113,7 +109,7 @@ public class TestStateMachineProcedure {
Thread.sleep(1000 + (int) (Math.random() * 4001));
proc.abort(procExecutor.getEnvironment());
ProcedureTestingUtility.waitProcedure(procExecutor, procId);
- assertEquals(true, proc.isFailed());
+ assertTrue(proc.isFailed());
} finally {
procExecutor.getEnvironment().loop = false;
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.java
index c43139e3e17..cefe12da413 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/TestYieldProcedures.java
@@ -17,8 +17,9 @@
*/
package org.apache.hadoop.hbase.procedure2;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.ArrayList;
@@ -27,24 +28,20 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestYieldProcedures {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestYieldProcedures.class);
private static final Logger LOG =
LoggerFactory.getLogger(TestYieldProcedures.class);
@@ -60,7 +57,7 @@ public class TestYieldProcedures {
private Path testDir;
private Path logDir;
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
testDir = htu.getDataTestDir();
@@ -76,7 +73,7 @@ public class TestYieldProcedures {
ProcedureTestingUtility.initAndStartWorkers(procExecutor,
PROCEDURE_EXECUTOR_SLOTS, true);
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procExecutor.stop();
procStore.stop(false);
@@ -101,14 +98,14 @@ public class TestYieldProcedures {
int index = 0;
for (int execStep = 0; execStep < NUM_STATES; ++execStep) {
TestStateMachineProcedure.ExecutionInfo info =
procs[i].getExecutionInfo().get(index++);
- assertEquals(false, info.isRollback());
+ assertFalse(info.isRollback());
assertEquals(execStep, info.getStep().ordinal());
}
// verify rollback
for (int execStep = NUM_STATES - 1; execStep >= 0; --execStep) {
TestStateMachineProcedure.ExecutionInfo info =
procs[i].getExecutionInfo().get(index++);
- assertEquals(true, info.isRollback());
+ assertTrue(info.isRollback());
assertEquals(execStep, info.getStep().ordinal());
}
}
@@ -134,18 +131,18 @@ public class TestYieldProcedures {
assertEquals(NUM_STATES * 4, proc.getExecutionInfo().size());
for (int i = 0; i < NUM_STATES; ++i) {
TestStateMachineProcedure.ExecutionInfo info =
proc.getExecutionInfo().get(count++);
- assertEquals(false, info.isRollback());
+ assertFalse(info.isRollback());
assertEquals(i, info.getStep().ordinal());
info = proc.getExecutionInfo().get(count++);
- assertEquals(false, info.isRollback());
+ assertFalse(info.isRollback());
assertEquals(i, info.getStep().ordinal());
}
// test rollback (we execute steps twice, rollback counts both IE and
completed)
for (int i = NUM_STATES - 1; i >= 0; --i) {
TestStateMachineProcedure.ExecutionInfo info =
proc.getExecutionInfo().get(count++);
- assertEquals(true, info.isRollback());
+ assertTrue(info.isRollback());
assertEquals(i, info.getStep().ordinal());
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/TestProcedureTree.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/TestProcedureTree.java
index 73acdf633ce..6799bcc98ad 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/TestProcedureTree.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/TestProcedureTree.java
@@ -17,7 +17,7 @@
*/
package org.apache.hadoop.hbase.procedure2.store;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -25,7 +25,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.procedure2.Procedure;
import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;
@@ -34,19 +33,15 @@ import
org.apache.hadoop.hbase.procedure2.ProcedureYieldException;
import
org.apache.hadoop.hbase.procedure2.store.ProcedureStore.ProcedureIterator;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestProcedureTree {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureTree.class);
-
public static final class TestProcedure extends Procedure<Void> {
@Override
@@ -169,5 +164,4 @@ public class TestProcedureTree {
assertEquals(5, corruptedProcs.get(0).getProcId());
assertEquals(4, corruptedProcs.get(0).getParentProcId());
}
-
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestBitSetNode.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestBitSetNode.java
index 251cb39842b..762a958aa10 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestBitSetNode.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestBitSetNode.java
@@ -17,26 +17,21 @@
*/
package org.apache.hadoop.hbase.procedure2.store.wal;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.procedure2.Procedure;
import
org.apache.hadoop.hbase.procedure2.store.wal.ProcedureStoreTracker.DeleteState;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestBitSetNode {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestBitSetNode.class);
-
@Test
public void testGetActiveMaxMinProcId() {
BitSetNode node = new BitSetNode(5L, false);
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestProcedureStoreTracker.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestProcedureStoreTracker.java
index 46164be6469..593f605967e 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestProcedureStoreTracker.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestProcedureStoreTracker.java
@@ -17,26 +17,23 @@
*/
package org.apache.hadoop.hbase.procedure2.store.wal;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.concurrent.ThreadLocalRandom;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.procedure2.Procedure;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.MediumTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, MediumTests.class })
+@Tag(MasterTests.TAG)
+@Tag(MediumTests.TAG)
public class TestProcedureStoreTracker {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestProcedureStoreTracker.class);
private static final Logger LOG =
LoggerFactory.getLogger(TestProcedureStoreTracker.class);
@@ -58,7 +55,7 @@ public class TestProcedureStoreTracker {
}
// All the proc that are not yet inserted should be result as deleted
for (int j = i + 1; j < MAX_PROC; ++j) {
- assertTrue(tracker.isDeleted(j) !=
ProcedureStoreTracker.DeleteState.NO);
+ assertNotSame(ProcedureStoreTracker.DeleteState.NO,
tracker.isDeleted(j));
}
}
@@ -213,7 +210,7 @@ public class TestProcedureStoreTracker {
if (hasProc) {
assertEquals(ProcedureStoreTracker.DeleteState.NO,
tracker.isDeleted(i));
} else {
- assertEquals("procId=" + i, ProcedureStoreTracker.DeleteState.YES,
tracker.isDeleted(i));
+ assertEquals(ProcedureStoreTracker.DeleteState.YES,
tracker.isDeleted(i), "procId=" + i);
}
}
}
@@ -227,24 +224,24 @@ public class TestProcedureStoreTracker {
for (int i = 0; i < procIds.length; ++i) {
tracker.insert(procIds[i]);
}
- assertEquals(false, tracker.isEmpty());
+ assertFalse(tracker.isEmpty());
for (int i = 0; i < procIds.length; ++i) {
tracker.setDeletedIfModified(procIds[i] - 1);
tracker.setDeletedIfModified(procIds[i]);
tracker.setDeletedIfModified(procIds[i] + 1);
}
- assertEquals(true, tracker.isEmpty());
+ assertTrue(tracker.isEmpty());
// test batch
tracker.reset();
for (int i = 0; i < procIds.length; ++i) {
tracker.insert(procIds[i]);
}
- assertEquals(false, tracker.isEmpty());
+ assertFalse(tracker.isEmpty());
tracker.setDeletedIfModified(procIds);
- assertEquals(true, tracker.isEmpty());
+ assertTrue(tracker.isEmpty());
}
@Test
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestStressWALProcedureStore.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestStressWALProcedureStore.java
index 4bdd3f268a1..440fb5af9ca 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestStressWALProcedureStore.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestStressWALProcedureStore.java
@@ -17,8 +17,8 @@
*/
package org.apache.hadoop.hbase.procedure2.store.wal;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.Random;
@@ -27,7 +27,6 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;
import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.LoadCounter;
@@ -35,22 +34,18 @@ import
org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility.TestProcedure;
import org.apache.hadoop.hbase.procedure2.util.StringUtils;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.MediumTests;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, MediumTests.class })
+@Tag(MasterTests.TAG)
+@Tag(MediumTests.TAG)
public class TestStressWALProcedureStore {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestStressWALProcedureStore.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestWALProcedureStore.class);
private static final int PROCEDURE_STORE_SLOTS = 8;
@@ -68,7 +63,7 @@ public class TestStressWALProcedureStore {
conf.setInt(WALProcedureStore.ROLL_THRESHOLD_CONF_KEY, 128 * 1024);
}
- @Before
+ @BeforeEach
public void setUp() throws IOException {
htu = new HBaseCommonTestingUtility();
setupConfiguration(htu.getConfiguration());
@@ -89,7 +84,7 @@ public class TestStressWALProcedureStore {
assertEquals(0, loader.getCorruptedCount());
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procStore.stop(false);
fs.delete(logDir, true);
@@ -138,14 +133,14 @@ public class TestStressWALProcedureStore {
assertEquals(1, procStore.getActiveLogs().size());
}
- @Ignore
+ @Disabled
@Test // REENABLE after merge of
// https://github.com/google/protobuf/issues/2228#issuecomment-252058282
public void testEntrySizeLimit() throws Exception {
final int NITEMS = 20;
for (int i = 1; i <= NITEMS; ++i) {
final byte[] data = new byte[256 << i];
- LOG.info(String.format("Writing %s",
StringUtils.humanSize(data.length)));
+ LOG.info("Writing {}", StringUtils.humanSize(data.length));
TestProcedure proc = new TestProcedure(i, 0, data);
procStore.insert(proc, null);
}
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.java
index 1df22ae7533..9c6a1a7e42c 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestWALProcedureStore.java
@@ -17,9 +17,10 @@
*/
package org.apache.hadoop.hbase.procedure2.store.wal;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -35,7 +36,6 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseCommonTestingUtility;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.procedure2.Procedure;
@@ -49,11 +49,10 @@ import
org.apache.hadoop.hbase.procedure2.store.ProcedureStore;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.io.IOUtils;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
@@ -62,11 +61,9 @@ import org.slf4j.LoggerFactory;
import org.apache.hbase.thirdparty.com.google.protobuf.Int64Value;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestWALProcedureStore {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestWALProcedureStore.class);
private static final Logger LOG =
LoggerFactory.getLogger(TestWALProcedureStore.class);
@@ -83,7 +80,7 @@ public class TestWALProcedureStore {
conf.setBoolean(WALProcedureStore.EXEC_WAL_CLEANUP_ON_LOAD_CONF_KEY, true);
}
- @Before
+ @BeforeEach
public void setUp() throws IOException {
testDir = htu.getDataTestDir();
htu.getConfiguration().set(HConstants.HBASE_DIR, testDir.toString());
@@ -100,7 +97,7 @@ public class TestWALProcedureStore {
procStore.load(new LoadCounter());
}
- @After
+ @AfterEach
public void tearDown() throws IOException {
procStore.stop(false);
fs.delete(logDir, true);
@@ -171,8 +168,8 @@ public class TestWALProcedureStore {
for (int i = 0; i < deleteOrder.length; i++) {
procStore.delete(procs[deleteOrder[i]].getProcId());
procStore.removeInactiveLogsForTesting();
- assertFalse(logs.get(deleteOrder[i]).toString(),
- procStore.getActiveLogs().contains(logs.get(deleteOrder[i])));
+ assertFalse(procStore.getActiveLogs().contains(logs.get(deleteOrder[i])),
+ logs.get(deleteOrder[i]).toString());
assertEquals(procStore.getActiveLogs().size(), procs.length - i);
}
}
@@ -422,11 +419,11 @@ public class TestWALProcedureStore {
final int[] updatedProcs, final int[] nonUpdatedProcs) {
for (int index : updatedProcs) {
long procId = procs[index].getProcId();
- assertTrue("Procedure id : " + procId, tracker.isModified(procId));
+ assertTrue(tracker.isModified(procId), "Procedure id : " + procId);
}
for (int index : nonUpdatedProcs) {
long procId = procs[index].getProcId();
- assertFalse("Procedure id : " + procId, tracker.isModified(procId));
+ assertFalse(tracker.isModified(procId), "Procedure id : " + procId);
}
}
@@ -434,13 +431,13 @@ public class TestWALProcedureStore {
final int[] deletedProcs, final int[] nonDeletedProcs) {
for (int index : deletedProcs) {
long procId = procs[index].getProcId();
- assertEquals("Procedure id : " + procId,
ProcedureStoreTracker.DeleteState.YES,
- tracker.isDeleted(procId));
+ assertEquals(ProcedureStoreTracker.DeleteState.YES,
tracker.isDeleted(procId),
+ "Procedure id : " + procId);
}
for (int index : nonDeletedProcs) {
long procId = procs[index].getProcId();
- assertEquals("Procedure id : " + procId,
ProcedureStoreTracker.DeleteState.NO,
- tracker.isDeleted(procId));
+ assertEquals(ProcedureStoreTracker.DeleteState.NO,
tracker.isDeleted(procId),
+ "Procedure id : " + procId);
}
}
@@ -523,7 +520,7 @@ public class TestWALProcedureStore {
LoadCounter loader = new LoadCounter();
storeRestart(loader);
- assertTrue(procStore.getCorruptedLogs() != null);
+ assertNotNull(procStore.getCorruptedLogs());
assertEquals(1, procStore.getCorruptedLogs().size());
assertEquals(87, loader.getLoadedCount());
assertEquals(0, loader.getCorruptedCount());
@@ -558,7 +555,7 @@ public class TestWALProcedureStore {
// the first log was removed,
// we have insert-txn and updates in the others so everything is fine
FileStatus[] logs = fs.listStatus(logDir);
- assertEquals(Arrays.toString(logs), 2, logs.length);
+ assertEquals(2, logs.length, Arrays.toString(logs));
Arrays.sort(logs, new Comparator<FileStatus>() {
@Override
public int compare(FileStatus o1, FileStatus o2) {
@@ -578,9 +575,9 @@ public class TestWALProcedureStore {
assertEquals(0, loader.getLoadedCount());
assertEquals(rootProcs.length, loader.getCorruptedCount());
for (Procedure<?> proc : loader.getCorrupted()) {
- assertTrue(proc.toString(), proc.getParentProcId() <= rootProcs.length);
- assertTrue(proc.toString(),
- proc.getProcId() > rootProcs.length && proc.getProcId() <=
(rootProcs.length * 2));
+ assertTrue(proc.getParentProcId() <= rootProcs.length, proc.toString());
+ assertTrue(proc.getProcId() > rootProcs.length && proc.getProcId() <=
(rootProcs.length * 2),
+ proc.toString());
}
}
@@ -789,7 +786,7 @@ public class TestWALProcedureStore {
restartAndAssert(procId != count ? count : 0, count - (i + 1), 0, 0);
}
procStore.removeInactiveLogsForTesting();
- assertEquals("WALs=" + procStore.getActiveLogs(), 1,
procStore.getActiveLogs().size());
+ assertEquals(1, procStore.getActiveLogs().size(), "WALs=" +
procStore.getActiveLogs());
}
@Test
diff --git
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/util/TestDelayedUtil.java
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/util/TestDelayedUtil.java
index 27f280ad13a..f07674d428a 100644
---
a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/util/TestDelayedUtil.java
+++
b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/util/TestDelayedUtil.java
@@ -17,24 +17,19 @@
*/
package org.apache.hadoop.hbase.procedure2.util;
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.MasterTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({ MasterTests.class, SmallTests.class })
+@Tag(MasterTests.TAG)
+@Tag(SmallTests.TAG)
public class TestDelayedUtil {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestDelayedUtil.class);
-
private static final Logger LOG =
LoggerFactory.getLogger(TestDelayedUtil.class);
@Test
@@ -74,8 +69,8 @@ public class TestDelayedUtil {
}
}
boolean isMatching = src.equals(items[i]);
- assertEquals(src.getObject() + " unexpectedly match " +
items[i].getObject(), shouldMatch,
- isMatching);
+ assertEquals(shouldMatch, isMatching,
+ src.getObject() + " unexpectedly match " + items[i].getObject());
}
}