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";

Reply via email to