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());
}
}