From b64a507340e6385cf6b6c647d11e411a6dfa03c5 Mon Sep 17 00:00:00 2001
From: Duo Zhang
Date: Thu, 27 Jan 2022 13:41:48 +0800
Subject: [PATCH] HBASE-26709 Ban the usage of junit 3 TestCase (#4065)
Signed-off-by: Nick Dimiduk
---
.../apache/hadoop/hbase/util/TestBytes.java | 44 +++++++++++-
.../hbase/http/conf/TestConfServlet.java | 9 ++-
.../apache/hadoop/hbase/HBaseTestCase.java | 20 ++----
.../hadoop/hbase/client/TestResult.java | 30 ++++++--
.../TestRegionObserverStacking.java | 23 +++---
...FirstKeyValueMatchingQualifiersFilter.java | 7 +-
.../hbase/io/TestImmutableBytesWritable.java | 13 +++-
.../hbase/io/hfile/TestCachedBlockQueue.java | 70 +++++++++----------
.../hadoop/hbase/io/hfile/TestHFileSeek.java | 13 ++--
.../regionserver/TestCellSkipListSet.java | 33 ++++++---
.../regionserver/TestKeyValueScanFixture.java | 11 +--
.../hbase/util/TestBloomFilterChunk.java | 15 ++--
.../hbase/util/TestConnectionCache.java | 31 +++++---
.../hadoop/hbase/util/TestRootPath.java | 7 +-
pom.xml | 8 +++
15 files changed, 216 insertions(+), 118 deletions(-)
diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestBytes.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestBytes.java
index 113eae1b41de..decb6ce292ac 100644
--- a/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestBytes.java
+++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestBytes.java
@@ -18,6 +18,13 @@
package org.apache.hadoop.hbase.util;
import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
@@ -31,17 +38,17 @@
import java.util.Arrays;
import java.util.List;
import java.util.Random;
-import junit.framework.TestCase;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.MiscTests;
import org.apache.hadoop.io.WritableUtils;
import org.junit.Assert;
import org.junit.ClassRule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
@Category({MiscTests.class, MediumTests.class})
-public class TestBytes extends TestCase {
+public class TestBytes {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
HBaseClassTestRule.forClass(TestBytes.class);
@@ -61,10 +68,12 @@ private static void setUnsafe(boolean value) throws Exception {
assertEquals(Bytes.UNSAFE_UNALIGNED, value);
}
+ @Test
public void testShort() throws Exception {
testShort(false);
}
+ @Test
public void testShortUnsafe() throws Exception {
testShort(true);
}
@@ -88,6 +97,7 @@ private static void testShort(boolean unsafe) throws Exception {
}
}
+ @Test
public void testNullHashCode() {
byte [] b = null;
Exception ee = null;
@@ -99,6 +109,7 @@ public void testNullHashCode() {
assertNotNull(ee);
}
+ @Test
public void testAdd() {
byte[] a = {0,0,0,0,0,0,0,0,0,0};
byte[] b = {1,1,1,1,1,1,1,1,1,1,1};
@@ -112,6 +123,7 @@ public void testAdd() {
assertEquals(0, Bytes.compareTo(result1, result2));
}
+ @Test
public void testSplit() {
byte[] lowest = Bytes.toBytes("AAA");
byte[] middle = Bytes.toBytes("CCC");
@@ -133,6 +145,7 @@ public void testSplit() {
assertTrue(Bytes.equals(parts[2], middle));
}
+ @Test
public void testSplit2() {
// More split tests.
byte [] lowest = Bytes.toBytes("http://A");
@@ -146,6 +159,7 @@ public void testSplit2() {
assertTrue(Bytes.equals(parts[1], middle));
}
+ @Test
public void testSplit3() {
// Test invalid split cases
byte[] low = { 1, 1, 1 };
@@ -180,6 +194,7 @@ public void testSplit3() {
}
}
+ @Test
public void testToInt() {
int[] ints = { -1, 123, Integer.MIN_VALUE, Integer.MAX_VALUE };
for (int anInt : ints) {
@@ -191,6 +206,7 @@ public void testToInt() {
}
}
+ @Test
public void testToLong() {
long[] longs = { -1L, 123L, Long.MIN_VALUE, Long.MAX_VALUE };
for (long aLong : longs) {
@@ -202,6 +218,7 @@ public void testToLong() {
}
}
+ @Test
public void testToFloat() {
float[] floats = { -1f, 123.123f, Float.MAX_VALUE };
for (float aFloat : floats) {
@@ -212,6 +229,7 @@ public void testToFloat() {
}
}
+ @Test
public void testToDouble() {
double [] doubles = {Double.MIN_VALUE, Double.MAX_VALUE};
for (double aDouble : doubles) {
@@ -222,6 +240,7 @@ public void testToDouble() {
}
}
+ @Test
public void testToBigDecimal() {
BigDecimal[] decimals = { new BigDecimal("-1"), new BigDecimal("123.123"),
new BigDecimal("123123123123") };
@@ -241,6 +260,7 @@ private byte[] bytesWithOffset(byte[] src) {
return result;
}
+ @Test
public void testToBytesForByteBuffer() {
byte[] array = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
ByteBuffer target = ByteBuffer.wrap(array);
@@ -264,6 +284,7 @@ public void testToBytesForByteBuffer() {
assertEquals(5, target2.limit());
}
+ @Test
public void testGetBytesForByteBuffer() {
byte[] array = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
ByteBuffer target = ByteBuffer.wrap(array);
@@ -277,6 +298,7 @@ public void testGetBytesForByteBuffer() {
assertEquals(7, target.limit());
}
+ @Test
public void testReadAsVLong() throws Exception {
long[] longs = { -1L, 123L, Long.MIN_VALUE, Long.MAX_VALUE };
for (long aLong : longs) {
@@ -290,6 +312,7 @@ public void testReadAsVLong() throws Exception {
}
}
+ @Test
public void testToStringBinaryForBytes() {
byte[] array = { '0', '9', 'a', 'z', 'A', 'Z', '@', 1 };
String actual = Bytes.toStringBinary(array);
@@ -301,6 +324,7 @@ public void testToStringBinaryForBytes() {
assertEquals(expected2, actual2);
}
+ @Test
public void testToStringBinaryForArrayBasedByteBuffer() {
byte[] array = { '0', '9', 'a', 'z', 'A', 'Z', '@', 1 };
ByteBuffer target = ByteBuffer.wrap(array);
@@ -309,6 +333,7 @@ public void testToStringBinaryForArrayBasedByteBuffer() {
assertEquals(expected, actual);
}
+ @Test
public void testToStringBinaryForReadOnlyByteBuffer() {
byte[] array = { '0', '9', 'a', 'z', 'A', 'Z', '@', 1 };
ByteBuffer target = ByteBuffer.wrap(array).asReadOnlyBuffer();
@@ -317,6 +342,7 @@ public void testToStringBinaryForReadOnlyByteBuffer() {
assertEquals(expected, actual);
}
+ @Test
public void testBinarySearch() {
byte[][] arr = {
{ 1 },
@@ -357,6 +383,7 @@ public void testBinarySearch() {
}
}
+ @Test
public void testToStringBytesBinaryReversible() {
// let's run test with 1000 randomly generated byte arrays
Random rand = new Random(EnvironmentEdgeManager.currentTime());
@@ -381,6 +408,7 @@ private void verifyReversibleForBytes(byte[] originalBytes) {
}
}
+ @Test
public void testStartsWith() {
assertTrue(Bytes.startsWith(Bytes.toBytes("hello"), Bytes.toBytes("h")));
assertTrue(Bytes.startsWith(Bytes.toBytes("hello"), Bytes.toBytes("")));
@@ -389,6 +417,7 @@ public void testStartsWith() {
assertFalse(Bytes.startsWith(Bytes.toBytes(""), Bytes.toBytes("hello")));
}
+ @Test
public void testIncrementBytes() {
assertTrue(checkTestIncrementBytes(10, 1));
assertTrue(checkTestIncrementBytes(12, 123435445));
@@ -423,6 +452,7 @@ private static boolean checkTestIncrementBytes(long val, long amount) {
return (Bytes.toLong(testValue) + amount) == incrementResult;
}
+ @Test
public void testFixedSizeString() throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
@@ -448,6 +478,7 @@ public void testFixedSizeString() throws IOException {
assertEquals("", Bytes.readStringFixedSize(dis, 9));
}
+ @Test
public void testCopy() {
byte[] bytes = Bytes.toBytes("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
byte[] copy = Bytes.copy(bytes);
@@ -455,6 +486,7 @@ public void testCopy() {
assertTrue(Bytes.equals(bytes, copy));
}
+ @Test
public void testToBytesBinaryTrailingBackslashes() {
try {
Bytes.toBytesBinary("abc\\x00\\x01\\");
@@ -463,11 +495,13 @@ public void testToBytesBinaryTrailingBackslashes() {
}
}
+ @Test
public void testToStringBinary_toBytesBinary_Reversable() {
String bytes = Bytes.toStringBinary(Bytes.toBytes(2.17));
assertEquals(2.17, Bytes.toDouble(Bytes.toBytesBinary(bytes)), 0);
}
+ @Test
public void testUnsignedBinarySearch(){
byte[] bytes = new byte[] { 0,5,123,127,-128,-100,-1 };
Assert.assertEquals(1, Bytes.unsignedBinarySearch(bytes, 0, bytes.length, (byte)5));
@@ -479,6 +513,7 @@ public void testUnsignedBinarySearch(){
Assert.assertEquals(-6-1, Bytes.unsignedBinarySearch(bytes, 0, bytes.length, (byte)-5));
}
+ @Test
public void testUnsignedIncrement(){
byte[] a = Bytes.toBytes(0);
int a2 = Bytes.toInt(Bytes.unsignedCopyAndIncrement(a), 0);
@@ -495,6 +530,7 @@ public void testUnsignedIncrement(){
Assert.assertEquals(256, c2);
}
+ @Test
public void testIndexOf() {
byte[] array = Bytes.toBytes("hello");
assertEquals(1, Bytes.indexOf(array, (byte) 'e'));
@@ -505,6 +541,7 @@ public void testIndexOf() {
assertEquals(-1, Bytes.indexOf(array, Bytes.toBytes("hll")));
}
+ @Test
public void testContains() {
byte[] array = Bytes.toBytes("hello world");
assertTrue(Bytes.contains(array, (byte) 'e'));
@@ -515,6 +552,7 @@ public void testContains() {
assertFalse(Bytes.contains(array, Bytes.toBytes("owo")));
}
+ @Test
public void testZero() {
byte[] array = Bytes.toBytes("hello");
Bytes.zero(array);
@@ -533,6 +571,7 @@ public void testZero() {
}
}
+ @Test
public void testPutBuffer() {
byte[] b = new byte[100];
for (byte i = 0; i < 100; i++) {
@@ -543,6 +582,7 @@ public void testPutBuffer() {
}
}
+ @Test
public void testToFromHex() {
List testStrings = new ArrayList<>(8);
testStrings.addAll(Arrays.asList("", "00", "A0", "ff", "FFffFFFFFFFFFF", "12",
diff --git a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/conf/TestConfServlet.java b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/conf/TestConfServlet.java
index c07ed0a8d9a9..ac2ef8f66497 100644
--- a/hbase-http/src/test/java/org/apache/hadoop/hbase/http/conf/TestConfServlet.java
+++ b/hbase-http/src/test/java/org/apache/hadoop/hbase/http/conf/TestConfServlet.java
@@ -17,6 +17,10 @@
*/
package org.apache.hadoop.hbase.http.conf;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
import java.io.StringReader;
import java.io.StringWriter;
import java.util.HashSet;
@@ -24,7 +28,6 @@
import java.util.Set;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
-import junit.framework.TestCase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.MiscTests;
@@ -44,8 +47,8 @@
* Basic test case that the ConfServlet can write configuration
* to its output in XML and JSON format.
*/
-@Category({MiscTests.class, SmallTests.class})
-public class TestConfServlet extends TestCase {
+@Category({ MiscTests.class, SmallTests.class })
+public class TestConfServlet {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java
index ea162fc220b5..5687a04c7f8b 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestCase.java
@@ -21,8 +21,6 @@
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.NavigableMap;
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
@@ -51,7 +49,7 @@
* @see HBASE-11912
*/
@Deprecated
-public abstract class HBaseTestCase extends TestCase {
+public abstract class HBaseTestCase extends junit.framework.TestCase {
private static final Logger LOG = LoggerFactory.getLogger(HBaseTestCase.class);
protected final static byte [] fam1 = Bytes.toBytes("colfamily11");
@@ -432,21 +430,17 @@ protected void closeRootAndMeta() throws IOException {
HBaseTestingUtility.closeRegionAndWAL(meta);
}
- public static void assertByteEquals(byte[] expected,
- byte[] actual) {
+ public static void assertByteEquals(byte[] expected, byte[] actual) {
if (Bytes.compareTo(expected, actual) != 0) {
- throw new AssertionFailedError("expected:<" +
- Bytes.toString(expected) + "> but was:<" +
- Bytes.toString(actual) + ">");
+ throw new junit.framework.AssertionFailedError(
+ "expected:<" + Bytes.toString(expected) + "> but was:<" + Bytes.toString(actual) + ">");
}
}
- public static void assertEquals(byte[] expected,
- byte[] actual) {
+ public static void assertEquals(byte[] expected, byte[] actual) {
if (Bytes.compareTo(expected, actual) != 0) {
- throw new AssertionFailedError("expected:<" +
- Bytes.toStringBinary(expected) + "> but was:<" +
- Bytes.toStringBinary(actual) + ">");
+ throw new junit.framework.AssertionFailedError("expected:<" + Bytes.toStringBinary(expected) +
+ "> but was:<" + Bytes.toStringBinary(actual) + ">");
}
}
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestResult.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestResult.java
index cc0b17a554c9..e763aa6689c3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestResult.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestResult.java
@@ -19,9 +19,13 @@
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.greaterThan;
-import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.lessThan;
import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.io.IOException;
import java.nio.ByteBuffer;
@@ -29,7 +33,6 @@
import java.util.Arrays;
import java.util.List;
import java.util.NoSuchElementException;
-import junit.framework.TestCase;
import org.apache.hadoop.hbase.ArrayBackedTag;
import org.apache.hadoop.hbase.ByteBufferKeyValue;
import org.apache.hadoop.hbase.Cell;
@@ -44,12 +47,13 @@
import org.apache.hadoop.hbase.util.ByteBufferUtils;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.ClassRule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Category({SmallTests.class, ClientTests.class})
-public class TestResult extends TestCase {
+@Category({ SmallTests.class, ClientTests.class })
+public class TestResult {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
@@ -79,8 +83,8 @@ static KeyValue[] genKVs(final byte[] row, final byte[] family,
/**
* Run some tests to ensure Result acts like a proper CellScanner.
- * @throws IOException
*/
+ @Test
public void testResultAsCellScanner() throws IOException {
Cell [] cells = genKVs(row, family, value, 1, 10);
Arrays.sort(cells, CellComparator.getInstance());
@@ -102,6 +106,7 @@ private void assertSame(final CellScanner cellScanner, final Cell [] cells) thro
assertEquals(cells.length, count);
}
+ @Test
public void testBasicGetColumn() throws Exception {
KeyValue [] kvs = genKVs(row, family, value, 1, 100);
@@ -119,12 +124,14 @@ public void testBasicGetColumn() throws Exception {
}
}
+ @Test
public void testCurrentOnEmptyCell() throws IOException {
Result r = Result.create(new Cell[0]);
assertFalse(r.advance());
assertNull(r.current());
}
+ @Test
public void testAdvanceTwiceOnEmptyCell() throws IOException {
Result r = Result.create(new Cell[0]);
assertFalse(r.advance());
@@ -136,6 +143,7 @@ public void testAdvanceTwiceOnEmptyCell() throws IOException {
}
}
+ @Test
public void testMultiVersionGetColumn() throws Exception {
KeyValue [] kvs1 = genKVs(row, family, value, 1, 100);
KeyValue [] kvs2 = genKVs(row, family, value, 200, 100);
@@ -158,6 +166,7 @@ public void testMultiVersionGetColumn() throws Exception {
}
}
+ @Test
public void testBasicGetValue() throws Exception {
KeyValue [] kvs = genKVs(row, family, value, 1, 100);
@@ -173,6 +182,7 @@ public void testBasicGetValue() throws Exception {
}
}
+ @Test
public void testMultiVersionGetValue() throws Exception {
KeyValue [] kvs1 = genKVs(row, family, value, 1, 100);
KeyValue [] kvs2 = genKVs(row, family, value, 200, 100);
@@ -192,6 +202,7 @@ public void testMultiVersionGetValue() throws Exception {
}
}
+ @Test
public void testBasicLoadValue() throws Exception {
KeyValue [] kvs = genKVs(row, family, value, 1, 100);
@@ -212,6 +223,7 @@ public void testBasicLoadValue() throws Exception {
}
}
+ @Test
public void testMultiVersionLoadValue() throws Exception {
KeyValue [] kvs1 = genKVs(row, family, value, 1, 100);
KeyValue [] kvs2 = genKVs(row, family, value, 200, 100);
@@ -240,6 +252,7 @@ public void testMultiVersionLoadValue() throws Exception {
/**
* Verify that Result.compareResults(...) behaves correctly.
*/
+ @Test
public void testCompareResults() throws Exception {
byte [] value1 = Bytes.toBytes("value1");
byte [] qual = Bytes.toBytes("qual");
@@ -260,6 +273,7 @@ public void testCompareResults() throws Exception {
}
}
+ @Test
public void testCompareResultsWithTags() throws Exception {
Tag t1 = new ArrayBackedTag((byte) 1, Bytes.toBytes("TAG1"));
Tag t2 = new ArrayBackedTag((byte) 2, Bytes.toBytes("TAG2"));
@@ -374,6 +388,7 @@ public void testCompareResultsWithTags() throws Exception {
}
}
+ @Test
public void testCompareResultMemoryUsage() {
List cells1 = new ArrayList<>();
for (long i = 0; i < 100; i++) {
@@ -392,7 +407,7 @@ public void testCompareResultMemoryUsage() {
fail();
} catch (Exception x) {
assertTrue(x.getMessage().startsWith("This result was different:"));
- assertThat(x.getMessage().length(), is(greaterThan(100)));
+ assertThat(x.getMessage().length(), greaterThan(100));
}
try {
@@ -400,7 +415,7 @@ public void testCompareResultMemoryUsage() {
fail();
} catch (Exception x) {
assertEquals("This result was different: row=row", x.getMessage());
- assertThat(x.getMessage().length(), is(lessThan(100)));
+ assertThat(x.getMessage().length(), lessThan(100));
}
}
@@ -429,6 +444,7 @@ private Result getByteBufferBackedTagResult(Tag tag) {
/**
* Verifies that one can't modify instance of EMPTY_RESULT.
*/
+ @Test
public void testEmptyResultIsReadonly() {
Result emptyResult = Result.EMPTY_RESULT;
Result otherResult = new Result();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverStacking.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverStacking.java
index 991ffe866901..ea02f17a0c05 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverStacking.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverStacking.java
@@ -17,9 +17,10 @@
*/
package org.apache.hadoop.hbase.coprocessor;
+import static org.junit.Assert.assertTrue;
+
import java.io.IOException;
import java.util.Optional;
-import junit.framework.TestCase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Coprocessor;
@@ -40,13 +41,15 @@
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
+import org.apache.hadoop.hbase.util.Threads;
import org.apache.hadoop.hbase.wal.WALEdit;
import org.junit.ClassRule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.mockito.Mockito;
@Category({CoprocessorTests.class, SmallTests.class})
-public class TestRegionObserverStacking extends TestCase {
+public class TestRegionObserverStacking {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
@@ -70,10 +73,7 @@ public void postPut(final ObserverContext c,
final Durability durability)
throws IOException {
id = EnvironmentEdgeManager.currentTime();
- try {
- Thread.sleep(10);
- } catch (InterruptedException ex) {
- }
+ Threads.sleepWithoutInterrupt(10);
}
}
@@ -91,10 +91,7 @@ public void postPut(final ObserverContext c,
final Durability durability)
throws IOException {
id = EnvironmentEdgeManager.currentTime();
- try {
- Thread.sleep(10);
- } catch (InterruptedException ex) {
- }
+ Threads.sleepWithoutInterrupt(10);
}
}
@@ -112,10 +109,7 @@ public void postPut(final ObserverContext c,
final Durability durability)
throws IOException {
id = EnvironmentEdgeManager.currentTime();
- try {
- Thread.sleep(10);
- } catch (InterruptedException ex) {
- }
+ Threads.sleepWithoutInterrupt(10);
}
}
@@ -140,6 +134,7 @@ HRegion initHRegion (byte [] tableName, String callingMethod,
return r;
}
+ @Test
public void testRegionObserverStacking() throws Exception {
byte[] ROW = Bytes.toBytes("testRow");
byte[] TABLE = Bytes.toBytes(this.getClass().getSimpleName());
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFirstKeyValueMatchingQualifiersFilter.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFirstKeyValueMatchingQualifiersFilter.java
index 95dde3632c8e..bf80a6262d83 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFirstKeyValueMatchingQualifiersFilter.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFirstKeyValueMatchingQualifiersFilter.java
@@ -17,9 +17,10 @@
*/
package org.apache.hadoop.hbase.filter;
+import static org.junit.Assert.assertTrue;
+
import java.util.Set;
import java.util.TreeSet;
-import junit.framework.TestCase;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.testclassification.FilterTests;
@@ -30,7 +31,7 @@
@SuppressWarnings("deprecation")
@Category({FilterTests.class, SmallTests.class})
-public class TestFirstKeyValueMatchingQualifiersFilter extends TestCase {
+public class TestFirstKeyValueMatchingQualifiersFilter {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
@@ -46,8 +47,6 @@ public class TestFirstKeyValueMatchingQualifiersFilter extends TestCase {
/**
* Test the functionality of
* {@link FirstKeyValueMatchingQualifiersFilter#filterCell(org.apache.hadoop.hbase.Cell)}
- *
- * @throws Exception
*/
public void testFirstKeyMatchingQualifierFilter() throws Exception {
Set quals = new TreeSet<>(Bytes.BYTES_COMPARATOR);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestImmutableBytesWritable.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestImmutableBytesWritable.java
index ee0e13f9fb02..3ab6c826b66f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestImmutableBytesWritable.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestImmutableBytesWritable.java
@@ -17,24 +17,29 @@
*/
package org.apache.hadoop.hbase.io;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotSame;
+
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
-import junit.framework.TestCase;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.IOTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.ClassRule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
-@Category({IOTests.class, SmallTests.class})
-public class TestImmutableBytesWritable extends TestCase {
+@Category({ IOTests.class, SmallTests.class })
+public class TestImmutableBytesWritable {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
HBaseClassTestRule.forClass(TestImmutableBytesWritable.class);
+ @Test
public void testHash() throws Exception {
assertEquals(
new ImmutableBytesWritable(Bytes.toBytes("xxabc"), 2, 3).hashCode(),
@@ -47,6 +52,7 @@ public void testHash() throws Exception {
new ImmutableBytesWritable(Bytes.toBytes("xxabc"), 2, 2).hashCode());
}
+ @Test
public void testSpecificCompare() {
ImmutableBytesWritable ibw1 = new ImmutableBytesWritable(new byte[]{0x0f});
ImmutableBytesWritable ibw2 = new ImmutableBytesWritable(new byte[]{0x00, 0x00});
@@ -54,6 +60,7 @@ public void testSpecificCompare() {
assertFalse("ibw1 < ibw2", c.compare( ibw1, ibw2 ) < 0 );
}
+ @Test
public void testComparison() throws Exception {
runTests("aa", "b", -1);
runTests("aa", "aa", 0);
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java
index b81972ec6a1e..91bc32c2a7d5 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java
@@ -17,23 +17,25 @@
*/
package org.apache.hadoop.hbase.io.hfile;
+import static org.junit.Assert.assertEquals;
+
import java.nio.ByteBuffer;
-import junit.framework.TestCase;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.testclassification.IOTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.junit.ClassRule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
-@Category({IOTests.class, SmallTests.class})
-public class TestCachedBlockQueue extends TestCase {
+@Category({ IOTests.class, SmallTests.class })
+public class TestCachedBlockQueue {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
HBaseClassTestRule.forClass(TestCachedBlockQueue.class);
+ @Test
public void testQueue() throws Exception {
-
CachedBlock cb1 = new CachedBlock(1000, "cb1", 1);
CachedBlock cb2 = new CachedBlock(1500, "cb2", 2);
CachedBlock cb3 = new CachedBlock(1000, "cb3", 3);
@@ -70,8 +72,8 @@ public void testQueue() throws Exception {
}
}
+ @Test
public void testQueueSmallBlockEdgeCase() throws Exception {
-
CachedBlock cb1 = new CachedBlock(1000, "cb1", 1);
CachedBlock cb2 = new CachedBlock(1500, "cb2", 2);
CachedBlock cb3 = new CachedBlock(1000, "cb3", 3);
@@ -115,39 +117,35 @@ public void testQueueSmallBlockEdgeCase() throws Exception {
}
}
- private static class CachedBlock extends org.apache.hadoop.hbase.io.hfile.LruCachedBlock
- {
+ private static class CachedBlock extends org.apache.hadoop.hbase.io.hfile.LruCachedBlock {
public CachedBlock(final long heapSize, String name, long accessTime) {
- super(new BlockCacheKey(name, 0),
- new Cacheable() {
- @Override
- public long heapSize() {
- return ((int)(heapSize - CachedBlock.PER_BLOCK_OVERHEAD));
- }
-
- @Override
- public int getSerializedLength() {
- return 0;
- }
-
- @Override
- public void serialize(ByteBuffer destination, boolean includeNextBlockMetadata) {
- }
-
- @Override
- public CacheableDeserializer getDeserializer() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public BlockType getBlockType() {
- return BlockType.DATA;
- }
-
- }, accessTime, false);
+ super(new BlockCacheKey(name, 0), new Cacheable() {
+ @Override
+ public long heapSize() {
+ return ((int) (heapSize - CachedBlock.PER_BLOCK_OVERHEAD));
+ }
+
+ @Override
+ public int getSerializedLength() {
+ return 0;
+ }
+
+ @Override
+ public void serialize(ByteBuffer destination, boolean includeNextBlockMetadata) {
+ }
+
+ @Override
+ public CacheableDeserializer getDeserializer() {
+ return null;
+ }
+
+ @Override
+ public BlockType getBlockType() {
+ return BlockType.DATA;
+ }
+
+ }, accessTime, false);
}
}
-
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java
index 51fa9253b732..3026cd532d98 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java
@@ -21,7 +21,6 @@
import java.nio.ByteBuffer;
import java.util.Random;
import java.util.StringTokenizer;
-import junit.framework.TestCase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
@@ -36,7 +35,10 @@
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.RandomDistribution;
import org.apache.hadoop.io.BytesWritable;
+import org.junit.After;
+import org.junit.Before;
import org.junit.ClassRule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -58,8 +60,8 @@
* Remove after tfile is committed and use the tfile version of this class
* instead. |
*/
-@Category({IOTests.class, SmallTests.class})
-public class TestHFileSeek extends TestCase {
+@Category({ IOTests.class, SmallTests.class })
+public class TestHFileSeek {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
@@ -79,7 +81,7 @@ public class TestHFileSeek extends TestCase {
private static final Logger LOG = LoggerFactory.getLogger(TestHFileSeek.class);
- @Override
+ @Before
public void setUp() throws IOException {
if (options == null) {
options = new MyOptions(new String[0]);
@@ -111,7 +113,7 @@ public void setUp() throws IOException {
options.dictSize);
}
- @Override
+ @After
public void tearDown() {
try {
fs.close();
@@ -216,6 +218,7 @@ public void seekTFile() throws IOException {
}
+ @Test
public void testSeeks() throws IOException {
if (options.doCreate()) {
createTFile();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java
index c2e2ca14f4bc..227236865fd3 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java
@@ -17,9 +17,12 @@
*/
package org.apache.hadoop.hbase.regionserver;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import java.util.Iterator;
import java.util.SortedSet;
-import junit.framework.TestCase;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellComparatorImpl;
import org.apache.hadoop.hbase.CellUtil;
@@ -28,11 +31,15 @@
import org.apache.hadoop.hbase.testclassification.RegionServerTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.Before;
import org.junit.ClassRule;
+import org.junit.Rule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.junit.rules.TestName;
-@Category({RegionServerTests.class, SmallTests.class})
-public class TestCellSkipListSet extends TestCase {
+@Category({ RegionServerTests.class, SmallTests.class })
+public class TestCellSkipListSet {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
@@ -41,14 +48,17 @@ public class TestCellSkipListSet extends TestCase {
private final CellSet csls =
new CellSet(CellComparatorImpl.COMPARATOR);
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Rule
+ public TestName name = new TestName();
+
+ @Before
+ public void setUp() throws Exception {
this.csls.clear();
}
+ @Test
public void testAdd() throws Exception {
- byte[] bytes = Bytes.toBytes(getName());
+ byte[] bytes = Bytes.toBytes(name.getMethodName());
KeyValue kv = new KeyValue(bytes, bytes, bytes, bytes);
this.csls.add(kv);
assertTrue(this.csls.contains(kv));
@@ -69,8 +79,9 @@ public void testAdd() throws Exception {
assertFalse(Bytes.equals(CellUtil.cloneValue(overwrite), CellUtil.cloneValue(kv)));
}
+ @Test
public void testIterator() throws Exception {
- byte [] bytes = Bytes.toBytes(getName());
+ byte [] bytes = Bytes.toBytes(name.getMethodName());
byte [] value1 = Bytes.toBytes("1");
byte [] value2 = Bytes.toBytes("2");
final int total = 3;
@@ -104,8 +115,9 @@ public void testIterator() throws Exception {
assertEquals(total, count);
}
+ @Test
public void testDescendingIterator() throws Exception {
- byte [] bytes = Bytes.toBytes(getName());
+ byte [] bytes = Bytes.toBytes(name.getMethodName());
byte [] value1 = Bytes.toBytes("1");
byte [] value2 = Bytes.toBytes("2");
final int total = 3;
@@ -141,8 +153,9 @@ public void testDescendingIterator() throws Exception {
assertEquals(total, count);
}
+ @Test
public void testHeadTail() throws Exception {
- byte [] bytes = Bytes.toBytes(getName());
+ byte [] bytes = Bytes.toBytes(name.getMethodName());
byte [] value1 = Bytes.toBytes("1");
byte [] value2 = Bytes.toBytes("2");
final int total = 3;
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java
index da46ef54a3e0..4f8ee55fa849 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java
@@ -17,8 +17,10 @@
*/
package org.apache.hadoop.hbase.regionserver;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
import java.io.IOException;
-import junit.framework.TestCase;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellComparator;
import org.apache.hadoop.hbase.HBaseClassTestRule;
@@ -29,16 +31,17 @@
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes;
import org.junit.ClassRule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
-@Category({RegionServerTests.class, SmallTests.class})
-public class TestKeyValueScanFixture extends TestCase {
+@Category({ RegionServerTests.class, SmallTests.class })
+public class TestKeyValueScanFixture {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
HBaseClassTestRule.forClass(TestKeyValueScanFixture.class);
-
+ @Test
public void testKeyValueScanFixture() throws IOException {
KeyValue kvs[] = new KeyValue[]{
KeyValueTestUtil.create("RowA", "family", "qf1",
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestBloomFilterChunk.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestBloomFilterChunk.java
index 99754dff8c26..92378c70b194 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestBloomFilterChunk.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestBloomFilterChunk.java
@@ -17,24 +17,29 @@
*/
package org.apache.hadoop.hbase.util;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.nio.ByteBuffer;
-import junit.framework.TestCase;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.nio.MultiByteBuff;
import org.apache.hadoop.hbase.testclassification.MiscTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.junit.ClassRule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
@Category({MiscTests.class, SmallTests.class})
-public class TestBloomFilterChunk extends TestCase {
+public class TestBloomFilterChunk {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
HBaseClassTestRule.forClass(TestBloomFilterChunk.class);
+ @Test
public void testBasicBloom() throws Exception {
BloomFilterChunk bf1 = new BloomFilterChunk(1000, (float)0.01, Hash.MURMUR_HASH, 0);
BloomFilterChunk bf2 = new BloomFilterChunk(1000, (float)0.01, Hash.MURMUR_HASH, 0);
@@ -94,6 +99,7 @@ public void testBasicBloom() throws Exception {
assertTrue(bOut.size() - bf1.byteSize < 10); //... allow small padding
}
+ @Test
public void testBloomFold() throws Exception {
// test: foldFactor < log(max/actual)
BloomFilterChunk b = new BloomFilterChunk(1003, (float) 0.01,
@@ -123,6 +129,7 @@ public void testBloomFold() throws Exception {
// test: foldFactor > log(max/actual)
}
+ @Test
public void testBloomPerf() throws Exception {
// add
float err = (float)0.01;
@@ -166,6 +173,7 @@ public void testBloomPerf() throws Exception {
// test: foldFactor > log(max/actual)
}
+ @Test
public void testSizing() {
int bitSize = 8 * 128 * 1024; // 128 KB
double errorRate = 0.025; // target false positive rate
@@ -183,11 +191,10 @@ public void testSizing() {
assertTrue(Math.abs(bitSize2 - bitSize) * 1.0 / bitSize < 1e-5);
}
+ @Test
public void testFoldableByteSize() {
assertEquals(128, BloomFilterUtil.computeFoldableByteSize(1000, 5));
assertEquals(640, BloomFilterUtil.computeFoldableByteSize(5001, 4));
}
-
-
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestConnectionCache.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestConnectionCache.java
index bb74b2967583..e6d72822eb6e 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestConnectionCache.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestConnectionCache.java
@@ -17,35 +17,47 @@
*/
package org.apache.hadoop.hbase.util;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.security.UserProvider;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.testclassification.MiscTests;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
-@Category({MiscTests.class, MediumTests.class})
-public class TestConnectionCache extends TestCase {
+@Category({ MiscTests.class, MediumTests.class })
+public class TestConnectionCache {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestConnectionCache.class);
+ HBaseClassTestRule.forClass(TestConnectionCache.class);
private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();
+ @BeforeClass
+ public static void setUp() throws Exception {
+ UTIL.startMiniCluster();
+ }
+
+ @AfterClass
+ public static void tearDown() throws IOException {
+ UTIL.shutdownMiniCluster();
+ }
+
/**
* test for ConnectionCache cleaning expired Connection
*/
@Test
public void testConnectionChore() throws Exception {
- UTIL.startMiniCluster();
-
- //1s for clean interval & 5s for maxIdleTime
+ // 1s for clean interval & 5s for maxIdleTime
ConnectionCache cache = new ConnectionCache(UTIL.getConfiguration(),
- UserProvider.instantiate(UTIL.getConfiguration()), 1000, 5000);
+ UserProvider.instantiate(UTIL.getConfiguration()), 1000, 5000);
ConnectionCache.ConnectionInfo info = cache.getCurrentConnection();
assertEquals(false, info.connection.isClosed());
@@ -53,8 +65,5 @@ public void testConnectionChore() throws Exception {
Thread.sleep(7000);
assertEquals(true, info.connection.isClosed());
- UTIL.shutdownMiniCluster();
}
-
}
-
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRootPath.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRootPath.java
index 18c9d4258552..226e0b5387d8 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRootPath.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestRootPath.java
@@ -17,14 +17,16 @@
*/
package org.apache.hadoop.hbase.util;
+import static org.junit.Assert.fail;
+
import java.io.IOException;
-import junit.framework.TestCase;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.HBaseClassTestRule;
import org.apache.hadoop.hbase.log.HBaseMarkers;
import org.apache.hadoop.hbase.testclassification.MiscTests;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.junit.ClassRule;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -33,7 +35,7 @@
* Test requirement that root directory must be a URI
*/
@Category({MiscTests.class, SmallTests.class})
-public class TestRootPath extends TestCase {
+public class TestRootPath {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
@@ -42,6 +44,7 @@ public class TestRootPath extends TestCase {
private static final Logger LOG = LoggerFactory.getLogger(TestRootPath.class);
/** The test */
+ @Test
public void testRootPath() {
try {
// Try good path
diff --git a/pom.xml b/pom.xml
index a09c39e3d69f..2b908b8792ff 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1211,6 +1211,14 @@
com.fasterxml.jackson.jaxrs.**
+
+ true
+ 512
+ Use junit4 instead
+
+ junit.framework.**
+
+