From e4a5362737e146ec793a59c20144ccc2e30b06e5 Mon Sep 17 00:00:00 2001 From: liuxiaocs7 Date: Tue, 10 Feb 2026 18:33:55 +0800 Subject: [PATCH] HBASE-29876 Upgrade hbase-shell to use junit5 --- hbase-shell/pom.xml | 5 ----- .../hadoop/hbase/client/AbstractTestShell.java | 10 +++++----- .../hadoop/hbase/client/RubyShellTest.java | 2 +- .../hadoop/hbase/client/TestAdminShell.java | 15 +++++---------- .../hbase/client/TestListTablesShell.java | 10 +++------- .../hadoop/hbase/client/TestQuotasShell.java | 10 +++------- .../hadoop/hbase/client/TestRSGroupShell.java | 15 +++++---------- .../hbase/client/TestReplicationShell.java | 10 +++------- .../apache/hadoop/hbase/client/TestShell.java | 9 +++------ .../hbase/client/TestShellNoCluster.java | 18 +++++++----------- .../hadoop/hbase/client/TestTableShell.java | 10 +++------- 11 files changed, 38 insertions(+), 76 deletions(-) diff --git a/hbase-shell/pom.xml b/hbase-shell/pom.xml index 25ec73039df6..24be8d71128e 100644 --- a/hbase-shell/pom.xml +++ b/hbase-shell/pom.xml @@ -94,11 +94,6 @@ junit-jupiter-params test - - org.junit.vintage - junit-vintage-engine - test - org.slf4j jcl-over-slf4j 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 e98eecc100ba..bf523ccd7340 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 @@ -20,9 +20,9 @@ import java.io.IOException; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.jruby.embed.ScriptingContainer; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; public abstract class AbstractTestShell implements RubyShellTest { protected final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(); @@ -43,7 +43,7 @@ public String getSuitePattern() { return "**/*_test.rb"; } - @Before + @BeforeEach public void setUp() throws Exception { RubyShellTest.setUpConfig(this); @@ -55,7 +55,7 @@ public void setUp() throws Exception { RubyShellTest.doTestSetup(this); } - @After + @AfterEach public void tearDown() throws Exception { TEST_UTIL.shutdownMiniCluster(); } diff --git a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/RubyShellTest.java b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/RubyShellTest.java index 770acb66a9d5..8a108a6e8744 100644 --- a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/RubyShellTest.java +++ b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/RubyShellTest.java @@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory; public interface RubyShellTest { - static Logger LOG = LoggerFactory.getLogger(RubyShellTest.class); + Logger LOG = LoggerFactory.getLogger(RubyShellTest.class); HBaseTestingUtility getTEST_UTIL(); 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 8e644b348c65..1db7d1d2b20a 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 @@ -19,24 +19,19 @@ import java.util.Collections; import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.hbase.HBaseClassTestRule; import org.apache.hadoop.hbase.fs.ErasureCodingUtils; import org.apache.hadoop.hbase.testclassification.ClientTests; import org.apache.hadoop.hbase.testclassification.LargeTests; -import org.junit.Before; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -@Category({ ClientTests.class, LargeTests.class }) +@Tag(ClientTests.TAG) +@Tag(LargeTests.TAG) public class TestAdminShell extends AbstractTestShell { private static final Logger LOG = LoggerFactory.getLogger(TestAdminShell.class); - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestAdminShell.class); - @Override public String getIncludeList() { return "admin_test.rb"; @@ -45,7 +40,7 @@ public String getIncludeList() { protected boolean erasureCodingSupported = false; @Override - @Before + @BeforeEach public void setUp() throws Exception { RubyShellTest.setUpConfig(this); diff --git a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestListTablesShell.java b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestListTablesShell.java index ffd80f91a381..66fc8dca6e9b 100644 --- a/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestListTablesShell.java +++ b/hbase-shell/src/test/java/org/apache/hadoop/hbase/client/TestListTablesShell.java @@ -17,17 +17,13 @@ */ 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 TestListTablesShell extends AbstractTestShell { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestListTablesShell.class); @Override public String getIncludeList() { 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 1550478d0a72..27cd72cac761 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,17 +17,13 @@ */ 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 public String getIncludeList() { 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 38b9b2dd002d..4fccd2e6540f 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,21 @@ */ 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.Before; -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); - @Override - @Before + @BeforeEach public void setUp() throws Exception { RubyShellTest.setUpConfig(this); 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 5bf0b3a6328d..b3ad8db28d8c 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,17 +17,13 @@ */ 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 public String getIncludeList() { 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 28b1fb59ef01..75da373bec07 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,16 +17,13 @@ */ 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 public String getSuitePattern() { 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 0071b24103b5..0b11c299cde7 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 @@ -17,22 +17,18 @@ */ 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.MediumTests; -import org.junit.After; -import org.junit.Before; -import org.junit.ClassRule; -import org.junit.experimental.categories.Category; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; -@Category({ ClientTests.class, MediumTests.class }) +@Tag(ClientTests.TAG) +@Tag(MediumTests.TAG) public class TestShellNoCluster extends AbstractTestShell { - @ClassRule - public static final HBaseClassTestRule CLASS_RULE = - HBaseClassTestRule.forClass(TestShellNoCluster.class); @Override - @Before + @BeforeEach public void setUp() throws Exception { RubyShellTest.setUpConfig(this); @@ -44,7 +40,7 @@ public void setUp() throws Exception { } @Override - @After + @AfterEach public void tearDown() 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 cae60ea8445a..97641e8ee5a6 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,17 +17,13 @@ */ 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 public String getIncludeList() {