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 b69e00cc2ff HBASE-29876 Upgrade hbase-shell to use junit5 (#7752)
b69e00cc2ff is described below
commit b69e00cc2ff39a8cd6fba0c95459bcc8f35f18d5
Author: Liu Xiao <[email protected]>
AuthorDate: Sat Feb 14 14:30:23 2026 +0800
HBASE-29876 Upgrade hbase-shell to use junit5 (#7752)
Signed-off-by: Duo Zhang <[email protected]>
---
hbase-shell/pom.xml | 5 -----
.../hadoop/hbase/client/AbstractTestShell.java | 14 +++++++-------
.../apache/hadoop/hbase/client/TestAdminShell.java | 11 +++--------
.../apache/hadoop/hbase/client/TestAdminShell2.java | 11 +++--------
.../hadoop/hbase/client/TestChangeSftShell.java | 16 ++++++----------
.../apache/hadoop/hbase/client/TestQuotasShell.java | 11 +++--------
.../hadoop/hbase/client/TestRSGroupShell.java | 18 +++++++-----------
.../hadoop/hbase/client/TestReplicationShell.java | 11 +++--------
.../org/apache/hadoop/hbase/client/TestShell.java | 10 +++-------
.../hadoop/hbase/client/TestShellNoCluster.java | 21 ++++++++-------------
.../apache/hadoop/hbase/client/TestTableShell.java | 11 +++--------
11 files changed, 46 insertions(+), 93 deletions(-)
diff --git a/hbase-shell/pom.xml b/hbase-shell/pom.xml
index 4679ead5e6a..288a71716c5 100644
--- a/hbase-shell/pom.xml
+++ b/hbase-shell/pom.xml
@@ -94,11 +94,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.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/AbstractTestShell.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/AbstractTestShell.java
index 9dbea245edf..e8e0992174e 100644
---
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/AbstractTestShell.java
+++
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/AbstractTestShell.java
@@ -28,9 +28,9 @@ import org.apache.hadoop.hbase.security.access.SecureTestUtil;
import org.apache.hadoop.hbase.security.visibility.VisibilityTestUtil;
import org.jruby.embed.PathType;
import org.jruby.embed.ScriptingContainer;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -94,8 +94,8 @@ public abstract class AbstractTestShell {
jruby.runScriptlet(PathType.ABSOLUTE, "src/test/ruby/tests_runner.rb");
}
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ @BeforeEach
+ public void setUpEach() throws Exception {
setUpConfig();
// Start mini cluster
@@ -104,8 +104,8 @@ public abstract class AbstractTestShell {
setUpJRubyRuntime();
}
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
+ @AfterEach
+ public void tearDownEach() throws Exception {
TEST_UTIL.shutdownMiniCluster();
}
}
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestAdminShell.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestAdminShell.java
index 983d43f9ef8..18e1de110eb 100644
---
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestAdminShell.java
+++
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestAdminShell.java
@@ -17,19 +17,14 @@
*/
package org.apache.hadoop.hbase.client;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.ClientTests;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
-@Category({ ClientTests.class, LargeTests.class })
+@Tag(ClientTests.TAG)
+@Tag(LargeTests.TAG)
public class TestAdminShell extends AbstractTestShell {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestAdminShell.class);
-
@Override
protected String getIncludeList() {
return "admin_test.rb";
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestAdminShell2.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestAdminShell2.java
index 0bf67cdc8b4..15a897a1c97 100644
---
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestAdminShell2.java
+++
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestAdminShell2.java
@@ -17,19 +17,14 @@
*/
package org.apache.hadoop.hbase.client;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.ClientTests;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
-@Category({ ClientTests.class, LargeTests.class })
+@Tag(ClientTests.TAG)
+@Tag(LargeTests.TAG)
public class TestAdminShell2 extends AbstractTestShell {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestAdminShell2.class);
-
@Override
protected String getIncludeList() {
return "admin2_test.rb";
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestChangeSftShell.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestChangeSftShell.java
index e8127afcc70..bc1813ee5a7 100644
---
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestChangeSftShell.java
+++
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestChangeSftShell.java
@@ -17,21 +17,17 @@
*/
package org.apache.hadoop.hbase.client;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.ClientTests;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
-@Category({ ClientTests.class, LargeTests.class })
+@Tag(ClientTests.TAG)
+@Tag(LargeTests.TAG)
public class TestChangeSftShell extends AbstractTestShell {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestChangeSftShell.class);
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ @BeforeEach
+ public void setUpEach() throws Exception {
setUpConfig();
TEST_UTIL.startMiniCluster(3);
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestQuotasShell.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestQuotasShell.java
index d7b9fab42a3..81ea98677d1 100644
---
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestQuotasShell.java
+++
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestQuotasShell.java
@@ -17,19 +17,14 @@
*/
package org.apache.hadoop.hbase.client;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.ClientTests;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
-@Category({ ClientTests.class, LargeTests.class })
+@Tag(ClientTests.TAG)
+@Tag(LargeTests.TAG)
public class TestQuotasShell extends AbstractTestShell {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestQuotasShell.class);
-
@Override
protected String getIncludeList() {
return "quotas_test.rb";
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestRSGroupShell.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestRSGroupShell.java
index b64f4a43ec8..e20ff552f9a 100644
---
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestRSGroupShell.java
+++
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestRSGroupShell.java
@@ -17,26 +17,22 @@
*/
package org.apache.hadoop.hbase.client;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
import org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint;
import org.apache.hadoop.hbase.rsgroup.RSGroupBasedLoadBalancer;
import org.apache.hadoop.hbase.testclassification.ClientTests;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
-@Category({ ClientTests.class, LargeTests.class })
+@Tag(ClientTests.TAG)
+@Tag(LargeTests.TAG)
public class TestRSGroupShell extends AbstractTestShell {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestRSGroupShell.class);
-
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ @Override
+ @BeforeEach
+ public void setUpEach() throws Exception {
setUpConfig();
// enable rs group
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestReplicationShell.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestReplicationShell.java
index ced1e7adda1..ddd6fa31d0d 100644
---
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestReplicationShell.java
+++
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestReplicationShell.java
@@ -17,19 +17,14 @@
*/
package org.apache.hadoop.hbase.client;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.ClientTests;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
-@Category({ ClientTests.class, LargeTests.class })
+@Tag(ClientTests.TAG)
+@Tag(LargeTests.TAG)
public class TestReplicationShell extends AbstractTestShell {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestReplicationShell.class);
-
@Override
protected String getIncludeList() {
return "replication_admin_test.rb";
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestShell.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestShell.java
index b97f7b516b5..48da310e66b 100644
--- a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestShell.java
+++ b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestShell.java
@@ -17,18 +17,14 @@
*/
package org.apache.hadoop.hbase.client;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.ClientTests;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
-@Category({ ClientTests.class, LargeTests.class })
+@Tag(ClientTests.TAG)
+@Tag(LargeTests.TAG)
public class TestShell extends AbstractTestShell {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
HBaseClassTestRule.forClass(TestShell.class);
-
@Override
protected String getExcludeList() {
return
"replication_admin_test.rb,rsgroup_shell_test.rb,admin_test.rb,table_test.rb,"
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestShellNoCluster.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestShellNoCluster.java
index c8685f34d19..1fdb065eb30 100644
---
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestShellNoCluster.java
+++
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestShellNoCluster.java
@@ -20,27 +20,22 @@ package org.apache.hadoop.hbase.client;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.ClientTests;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.jruby.embed.PathType;
-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;
-@Category({ ClientTests.class, MediumTests.class })
+@Tag(ClientTests.TAG)
+@Tag(MediumTests.TAG)
public class TestShellNoCluster extends AbstractTestShell {
private static final Logger LOG =
LoggerFactory.getLogger(TestShellNoCluster.class);
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestShellNoCluster.class);
-
- @BeforeClass
+ @BeforeAll
public static void setUpBeforeClass() throws Exception {
// no cluster
List<String> loadPaths = new ArrayList<>(2);
@@ -52,7 +47,7 @@ public class TestShellNoCluster extends AbstractTestShell {
System.setProperty("jruby.native.verbose", "true");
}
- @AfterClass
+ @AfterAll
public static void tearDownAfterClass() throws Exception {
// no cluster
}
diff --git
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestTableShell.java
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestTableShell.java
index 658e4c8b77c..604f2dc3b29 100644
---
a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestTableShell.java
+++
b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestTableShell.java
@@ -17,19 +17,14 @@
*/
package org.apache.hadoop.hbase.client;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.ClientTests;
import org.apache.hadoop.hbase.testclassification.LargeTests;
-import org.junit.ClassRule;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.Tag;
-@Category({ ClientTests.class, LargeTests.class })
+@Tag(ClientTests.TAG)
+@Tag(LargeTests.TAG)
public class TestTableShell extends AbstractTestShell {
- @ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestTableShell.class);
-
@Override
protected String getIncludeList() {
return "table_test.rb";