This is an automated email from the ASF dual-hosted git repository.

taklwu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new a13d7f2ebec HBASE-29844 Upgrade hbase-metrics to use junit5 (#7654)
a13d7f2ebec is described below

commit a13d7f2ebec9335b590765869ec10b5c11fa6b32
Author: Liu Xiao <[email protected]>
AuthorDate: Thu Jan 22 13:21:54 2026 +0800

    HBASE-29844 Upgrade hbase-metrics to use junit5 (#7654)
    
    Signed-off-by: Tak Lon (Stephen) Wu <[email protected]>
---
 hbase-metrics/pom.xml                              |  5 ----
 .../hadoop/hbase/metrics/impl/TestCounterImpl.java | 18 +++++--------
 .../hbase/metrics/impl/TestDropwizardMeter.java    | 16 ++++--------
 .../hbase/metrics/impl/TestFastLongHistogram.java  | 27 ++++++++-----------
 .../hadoop/hbase/metrics/impl/TestGauge.java       | 15 +++--------
 .../hbase/metrics/impl/TestHistogramImpl.java      | 20 +++------------
 .../metrics/impl/TestMetricRegistriesImpl.java     | 17 +++++-------
 .../hbase/metrics/impl/TestMetricRegistryImpl.java | 30 +++++++++-------------
 .../hbase/metrics/impl/TestRefCountingMap.java     | 24 +++++++----------
 .../hadoop/hbase/metrics/impl/TestTimerImpl.java   | 19 +++++---------
 10 files changed, 63 insertions(+), 128 deletions(-)

diff --git a/hbase-metrics/pom.xml b/hbase-metrics/pom.xml
index cefc2682935..bfb422ae44a 100644
--- a/hbase-metrics/pom.xml
+++ b/hbase-metrics/pom.xml
@@ -97,11 +97,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.mockito</groupId>
       <artifactId>mockito-core</artifactId>
diff --git 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestCounterImpl.java
 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestCounterImpl.java
index 0d86e2aeb49..317c3f74550 100644
--- 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestCounterImpl.java
+++ 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestCounterImpl.java
@@ -17,29 +17,23 @@
  */
 package org.apache.hadoop.hbase.metrics.impl;
 
-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.metrics.Counter;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test class for {@link CounterImpl}.
  */
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
 public class TestCounterImpl {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestCounterImpl.class);
-
   private Counter counter;
 
-  @Before
+  @BeforeEach
   public void setup() {
     this.counter = new CounterImpl();
   }
diff --git 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestDropwizardMeter.java
 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestDropwizardMeter.java
index 9af666b095f..2473dab5b3e 100644
--- 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestDropwizardMeter.java
+++ 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestDropwizardMeter.java
@@ -18,27 +18,21 @@
 package org.apache.hadoop.hbase.metrics.impl;
 
 import com.codahale.metrics.Meter;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 import org.mockito.Mockito;
 
 /**
  * Test class for {@link DropwizardMeter}.
  */
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
 public class TestDropwizardMeter {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestDropwizardMeter.class);
-
   private Meter meter;
 
-  @Before
+  @BeforeEach
   public void setup() {
     this.meter = Mockito.mock(Meter.class);
   }
diff --git 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestFastLongHistogram.java
 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestFastLongHistogram.java
index ca5c6a47668..1ad60091288 100644
--- 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestFastLongHistogram.java
+++ 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestFastLongHistogram.java
@@ -17,29 +17,24 @@
  */
 package org.apache.hadoop.hbase.metrics.impl;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Arrays;
 import java.util.Random;
 import java.util.concurrent.ThreadLocalRandom;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.MiscTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.Assert;
-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;
 
 /**
  * Testcases for FastLongHistogram.
  */
-@Category({ MiscTests.class, SmallTests.class })
+@Tag(MiscTests.TAG)
+@Tag(SmallTests.TAG)
 public class TestFastLongHistogram {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestFastLongHistogram.class);
-
   private static void doTestUniform(FastLongHistogram hist) {
     long[] VALUES = { 0, 10, 20, 30, 40, 50 };
     double[] qs = new double[VALUES.length];
@@ -54,8 +49,8 @@ public class TestFastLongHistogram {
       long[] vals = hist.getQuantiles(qs);
       System.out.println(Arrays.toString(vals));
       for (int j = 0; j < qs.length; j++) {
-        Assert.assertTrue(j + "-th element org: " + VALUES[j] + ", act: " + 
vals[j],
-          Math.abs(vals[j] - VALUES[j]) <= 10);
+        assertTrue(Math.abs(vals[j] - VALUES[j]) <= 10,
+          j + "-th element org: " + VALUES[j] + ", act: " + vals[j]);
       }
       hist.snapshotAndReset();
     }
@@ -87,9 +82,9 @@ public class TestFastLongHistogram {
       long[] vals = hist.getQuantiles(new double[] { 0.25, 0.75, 0.95 });
       System.out.println(Arrays.toString(vals));
       if (n == 0) {
-        Assert.assertTrue("Out of possible value", vals[0] >= 0 && vals[0] <= 
50);
-        Assert.assertTrue("Out of possible value", vals[1] >= 50 && vals[1] <= 
100);
-        Assert.assertTrue("Out of possible value", vals[2] >= 900 && vals[2] 
<= 1100);
+        assertTrue(vals[0] >= 0 && vals[0] <= 50, "Out of possible value");
+        assertTrue(vals[1] >= 50 && vals[1] <= 100, "Out of possible value");
+        assertTrue(vals[2] >= 900 && vals[2] <= 1100, "Out of possible value");
       }
 
       hist.snapshotAndReset();
diff --git 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestGauge.java
 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestGauge.java
index e1ed9cf6a5b..ccdc925c1fd 100644
--- 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestGauge.java
+++ 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestGauge.java
@@ -17,33 +17,26 @@
  */
 package org.apache.hadoop.hbase.metrics.impl;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.concurrent.atomic.AtomicLong;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.metrics.Gauge;
 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;
 
 /**
  * Test class for {@link Gauge}.
  */
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
 public class TestGauge {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE = 
HBaseClassTestRule.forClass(TestGauge.class);
-
   @Test
   public void testGetValue() {
     SimpleGauge gauge = new SimpleGauge();
-
     assertEquals(0, (long) gauge.getValue());
 
     gauge.setValue(1000L);
-
     assertEquals(1000L, (long) gauge.getValue());
   }
 
diff --git 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestHistogramImpl.java
 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestHistogramImpl.java
index 70d9598570d..87bebd684f5 100644
--- 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestHistogramImpl.java
+++ 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestHistogramImpl.java
@@ -17,30 +17,23 @@
  */
 package org.apache.hadoop.hbase.metrics.impl;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.stream.IntStream;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.metrics.Snapshot;
 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;
 
 /**
  * Test case for {@link HistogramImpl}
  */
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
 public class TestHistogramImpl {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestHistogramImpl.class);
-
   @Test
   public void testUpdate() {
     HistogramImpl histogram = new HistogramImpl();
-
     assertEquals(0, histogram.getCount());
 
     histogram.update(0);
@@ -51,7 +44,6 @@ public class TestHistogramImpl {
 
     histogram.update(20);
     histogram.update(30);
-
     assertEquals(4, histogram.getCount());
   }
 
@@ -61,7 +53,6 @@ public class TestHistogramImpl {
     IntStream.range(0, 100).forEach(histogram::update);
 
     Snapshot snapshot = histogram.snapshot();
-
     assertEquals(100, snapshot.getCount());
     assertEquals(49, snapshot.getMedian());
     assertEquals(49, snapshot.getMean());
@@ -100,9 +91,7 @@ public class TestHistogramImpl {
     assertEquals(199, snapshot.get999thPercentile());
 
     IntStream.range(500, 1000).forEach(histogram::update);
-
     snapshot = histogram.snapshot();
-
     assertEquals(500, snapshot.getCount());
     assertEquals(749, snapshot.getMedian());
     assertEquals(749, snapshot.getMean());
@@ -115,6 +104,5 @@ public class TestHistogramImpl {
     assertEquals(989, snapshot.get98thPercentile());
     assertEquals(994, snapshot.get99thPercentile());
     assertEquals(998, snapshot.get999thPercentile());
-
   }
 }
diff --git 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestMetricRegistriesImpl.java
 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestMetricRegistriesImpl.java
index e431ee86cea..5852104d709 100644
--- 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestMetricRegistriesImpl.java
+++ 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestMetricRegistriesImpl.java
@@ -17,28 +17,23 @@
  */
 package org.apache.hadoop.hbase.metrics.impl;
 
-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.Optional;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.metrics.MetricRegistries;
 import org.apache.hadoop.hbase.metrics.MetricRegistry;
 import org.apache.hadoop.hbase.metrics.MetricRegistryInfo;
 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;
 
 /**
  * Test class for {@link MetricRegistries}.
  */
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
 public class TestMetricRegistriesImpl {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricRegistriesImpl.class);
-
   @Test
   public void testMetricsRegistriesRemoveRef() {
     MetricRegistryInfo registryInfo =
@@ -57,6 +52,6 @@ public class TestMetricRegistriesImpl {
 
     MetricRegistries.global().remove(registryInfo);
     Optional<MetricRegistry> registry4 = 
MetricRegistries.global().get(registryInfo);
-    assertTrue(!registry4.isPresent());
+    assertFalse(registry4.isPresent());
   }
 }
diff --git 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestMetricRegistryImpl.java
 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestMetricRegistryImpl.java
index 8cae0636120..f61d6eebf9a 100644
--- 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestMetricRegistryImpl.java
+++ 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestMetricRegistryImpl.java
@@ -17,14 +17,13 @@
  */
 package org.apache.hadoop.hbase.metrics.impl;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-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.util.Map;
 import java.util.Optional;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.metrics.Counter;
 import org.apache.hadoop.hbase.metrics.Gauge;
 import org.apache.hadoop.hbase.metrics.Meter;
@@ -32,22 +31,17 @@ import org.apache.hadoop.hbase.metrics.Metric;
 import org.apache.hadoop.hbase.metrics.MetricRegistryInfo;
 import org.apache.hadoop.hbase.metrics.Timer;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
 public class TestMetricRegistryImpl {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestMetricRegistryImpl.class);
-
   private MetricRegistryInfo info;
   private MetricRegistryImpl registry;
 
-  @Before
+  @BeforeEach
   public void setUp() {
     info = new MetricRegistryInfo("foo", "bar", "baz", "foobar", false);
     registry = new MetricRegistryImpl(info);
@@ -112,8 +106,8 @@ public class TestMetricRegistryImpl {
 
   @Test
   public void testDoubleRegister() {
-    Gauge g1 = registry.register("mygauge", () -> 42L);
-    Gauge g2 = registry.register("mygauge", () -> 52L);
+    Gauge<Long> g1 = registry.register("mygauge", () -> 42L);
+    Gauge<Long> g2 = registry.register("mygauge", () -> 52L);
 
     // second gauge is ignored if it exists
     assertEquals(g1, g2);
@@ -132,7 +126,7 @@ public class TestMetricRegistryImpl {
   public void testGetMetrics() {
     CounterImpl counter = new CounterImpl();
     registry.register("mycounter", counter);
-    Gauge gauge = registry.register("mygauge", () -> 42L);
+    Gauge<Long> gauge = registry.register("mygauge", () -> 42L);
     Timer timer = registry.timer("mytimer");
 
     Map<String, Metric> metrics = registry.getMetrics();
diff --git 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestRefCountingMap.java
 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestRefCountingMap.java
index 2d29ff17943..cbfbbe122ab 100644
--- 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestRefCountingMap.java
+++ 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestRefCountingMap.java
@@ -17,32 +17,26 @@
  */
 package org.apache.hadoop.hbase.metrics.impl;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+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.util.Collection;
 import java.util.Set;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 import org.apache.hbase.thirdparty.com.google.common.collect.Lists;
 
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
 public class TestRefCountingMap {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestRefCountingMap.class);
-
   private RefCountingMap<String, String> map;
 
-  @Before
+  @BeforeEach
   public void setUp() {
     map = new RefCountingMap<>();
   }
diff --git 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestTimerImpl.java
 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestTimerImpl.java
index 1bfa02fc4b6..3b3eded1ea9 100644
--- 
a/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestTimerImpl.java
+++ 
b/hbase-metrics/src/test/java/org/apache/hadoop/hbase/metrics/impl/TestTimerImpl.java
@@ -17,30 +17,24 @@
  */
 package org.apache.hadoop.hbase.metrics.impl;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.util.concurrent.TimeUnit;
-import org.apache.hadoop.hbase.HBaseClassTestRule;
 import org.apache.hadoop.hbase.metrics.Timer;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
 
 /**
  * Test class for {@link TimerImpl}
  */
-@Category(SmallTests.class)
+@Tag(SmallTests.TAG)
 public class TestTimerImpl {
 
-  @ClassRule
-  public static final HBaseClassTestRule CLASS_RULE =
-    HBaseClassTestRule.forClass(TestTimerImpl.class);
-
   private Timer timer;
 
-  @Before
+  @BeforeEach
   public void setup() {
     this.timer = new TimerImpl();
   }
@@ -52,7 +46,6 @@ public class TestTimerImpl {
     timer.update(42, TimeUnit.MILLISECONDS);
     assertEquals(3, timer.getHistogram().getCount());
     assertEquals(3, timer.getMeter().getCount());
-
     assertEquals(TimeUnit.MILLISECONDS.toMicros(41), 
timer.getHistogram().snapshot().getMedian());
   }
 }

Reply via email to