Revert "HBASE-14725 Vet categorization of tests so they for sure go into the right small/medium/large buckets"

Reverting. It seems to have destabilized the build.

This reverts commit aaaa813225.
This commit is contained in:
stack 2015-11-02 08:16:59 -08:00
parent aaaa813225
commit 51f5412a92
11 changed files with 74 additions and 66 deletions

View File

@ -23,7 +23,6 @@ package org.apache.hadoop.hbase.client;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.CategoryBasedTimeout;
import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.RegionLocations; import org.apache.hadoop.hbase.RegionLocations;
import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.TableName;
@ -43,7 +42,7 @@ import org.junit.BeforeClass;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
import org.junit.rules.TestRule; import org.junit.rules.Timeout;
import org.mockito.Mockito; import org.mockito.Mockito;
import java.io.IOException; import java.io.IOException;
@ -67,8 +66,6 @@ import java.util.concurrent.atomic.AtomicLong;
@Category(MediumTests.class) @Category(MediumTests.class)
public class TestAsyncProcess { public class TestAsyncProcess {
@Rule public final TestRule timeout = CategoryBasedTimeout.builder().withTimeout(this.getClass()).
withLookingForStuckThread(true).build();
private final static Log LOG = LogFactory.getLog(TestAsyncProcess.class); private final static Log LOG = LogFactory.getLog(TestAsyncProcess.class);
private static final TableName DUMMY_TABLE = private static final TableName DUMMY_TABLE =
TableName.valueOf("DUMMY_TABLE"); TableName.valueOf("DUMMY_TABLE");
@ -415,6 +412,9 @@ public class TestAsyncProcess {
} }
} }
@Rule
public Timeout timeout = Timeout.millis(10000); // 10 seconds max per method tested
@Test @Test
public void testSubmit() throws Exception { public void testSubmit() throws Exception {
ClusterConnection hc = createHConnection(); ClusterConnection hc = createHConnection();

View File

@ -19,8 +19,9 @@
package org.apache.hadoop.hbase.master; package org.apache.hadoop.hbase.master;
import org.apache.hadoop.hbase.CompatibilitySingletonFactory; import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
import org.apache.hadoop.hbase.testclassification.MetricsTests; import org.apache.hadoop.hbase.master.MetricsMasterSource;
import org.apache.hadoop.hbase.testclassification.SmallTests; import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.testclassification.MetricsTests;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
@ -34,5 +35,6 @@ public class TestMetricsMasterSourceFactory {
public void testGetInstanceNoHadoopCompat() throws Exception { public void testGetInstanceNoHadoopCompat() throws Exception {
//This should throw an exception because there is no compat lib on the class path. //This should throw an exception because there is no compat lib on the class path.
CompatibilitySingletonFactory.getInstance(MetricsMasterSourceFactory.class); CompatibilitySingletonFactory.getInstance(MetricsMasterSourceFactory.class);
} }
} }

View File

@ -22,23 +22,24 @@ package org.apache.hadoop.hbase.procedure2.util;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hbase.procedure2.util.TimeoutBlockingQueue.TimeoutRetriever; import org.apache.hadoop.hbase.procedure2.util.TimeoutBlockingQueue.TimeoutRetriever;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import static org.junit.Assert.assertEquals; import org.junit.Assert;
import static org.junit.Assert.assertTrue;
import org.apache.hadoop.hbase.CategoryBasedTimeout;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.junit.Rule;
import org.junit.rules.TestRule;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@Category({MediumTests.class}) @Category(SmallTests.class)
public class TestTimeoutBlockingQueue { public class TestTimeoutBlockingQueue {
@Rule public final TestRule timeout = CategoryBasedTimeout.builder().withTimeout(this.getClass()). private static final Log LOG = LogFactory.getLog(TestTimeoutBlockingQueue.class);
withLookingForStuckThread(true).build();
static class TestObject { static class TestObject {
private long timeout; private long timeout;
private int seqId; private int seqId;

View File

@ -344,6 +344,15 @@
</lifecycleMappingMetadata> </lifecycleMappingMetadata>
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.version}</version>
<configuration>
<!-- Have to set the groups here because we only do
split tests in this package, so groups on live in this module -->
<groups>${surefire.firstPartGroups}</groups>
</configuration>
</plugin>
</plugins> </plugins>
</pluginManagement> </pluginManagement>
</build> </build>

View File

@ -17,18 +17,15 @@
*/ */
package org.apache.hadoop.hbase.ipc; package org.apache.hadoop.hbase.ipc;
import static org.apache.hadoop.hbase.HBaseTestingUtility.fam1;
import static org.junit.Assert.assertTrue;
import java.io.IOException; import java.io.IOException;
import java.net.Socket; import java.net.Socket;
import java.net.SocketAddress; import java.net.SocketAddress;
import java.util.List; import java.util.List;
import com.google.common.collect.Lists;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.CategoryBasedTimeout;
import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.TableName;
@ -39,7 +36,7 @@ import org.apache.hadoop.hbase.client.MetricsConnection;
import org.apache.hadoop.hbase.client.RetriesExhaustedException; import org.apache.hadoop.hbase.client.RetriesExhaustedException;
import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.codec.Codec; import org.apache.hadoop.hbase.codec.Codec;
import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.io.compress.CompressionCodec; import org.apache.hadoop.io.compress.CompressionCodec;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.BeforeClass; import org.junit.BeforeClass;
@ -47,14 +44,12 @@ import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
import org.junit.rules.ExpectedException; import org.junit.rules.ExpectedException;
import org.junit.rules.TestRule;
import com.google.common.collect.Lists; import static org.apache.hadoop.hbase.HBaseTestingUtility.fam1;
import static org.junit.Assert.*;
@Category(MediumTests.class) @Category(SmallTests.class)
public class TestRpcClientLeaks { public class TestRpcClientLeaks {
@Rule public final TestRule timeout = CategoryBasedTimeout.builder().withTimeout(this.getClass()).
withLookingForStuckThread(true).build();
public static class MyRpcClientImpl extends RpcClientImpl { public static class MyRpcClientImpl extends RpcClientImpl {
public static List<Socket> savedSockets = Lists.newArrayList(); public static List<Socket> savedSockets = Lists.newArrayList();
@ -119,3 +114,4 @@ public class TestRpcClientLeaks {
} }
} }
} }

View File

@ -25,7 +25,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import com.google.protobuf.Message; import com.google.protobuf.Message;
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.CategoryBasedTimeout;
import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Put;
@ -40,10 +39,8 @@ import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest;
import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Threads; import org.apache.hadoop.hbase.util.Threads;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
import org.junit.rules.TestRule;
import org.mockito.invocation.InvocationOnMock; import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer; import org.mockito.stubbing.Answer;
@ -67,8 +64,6 @@ import static org.mockito.Mockito.when;
@Category(SmallTests.class) @Category(SmallTests.class)
public class TestSimpleRpcScheduler { public class TestSimpleRpcScheduler {
@Rule public final TestRule timeout = CategoryBasedTimeout.builder().withTimeout(this.getClass()).
withLookingForStuckThread(true).build();
private static final Log LOG = LogFactory.getLog(TestSimpleRpcScheduler.class); private static final Log LOG = LogFactory.getLog(TestSimpleRpcScheduler.class);
private final RpcScheduler.Context CONTEXT = new RpcScheduler.Context() { private final RpcScheduler.Context CONTEXT = new RpcScheduler.Context() {

View File

@ -27,7 +27,6 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.CategoryBasedTimeout;
import org.apache.hadoop.hbase.ChoreService; import org.apache.hadoop.hbase.ChoreService;
import org.apache.hadoop.hbase.CoordinatedStateManager; import org.apache.hadoop.hbase.CoordinatedStateManager;
import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HBaseTestingUtility;
@ -37,13 +36,11 @@ import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.ClusterConnection; import org.apache.hadoop.hbase.client.ClusterConnection;
import org.apache.hadoop.hbase.io.HFileLink; import org.apache.hadoop.hbase.io.HFileLink;
import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.FSUtils;
import org.apache.hadoop.hbase.util.HFileArchiveUtil; import org.apache.hadoop.hbase.util.HFileArchiveUtil;
import org.apache.hadoop.hbase.zookeeper.MetaTableLocator; import org.apache.hadoop.hbase.zookeeper.MetaTableLocator;
import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher; import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
import org.junit.Rule;
import org.junit.rules.TestRule;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
@ -51,10 +48,8 @@ import org.junit.experimental.categories.Category;
* Test the HFileLink Cleaner. * Test the HFileLink Cleaner.
* HFiles with links cannot be deleted until a link is present. * HFiles with links cannot be deleted until a link is present.
*/ */
@Category({MediumTests.class}) @Category(SmallTests.class)
public class TestHFileLinkCleaner { public class TestHFileLinkCleaner {
@Rule public final TestRule timeout = CategoryBasedTimeout.builder().withTimeout(this.getClass()).
withLookingForStuckThread(true).build();
private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(); private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();

View File

@ -32,7 +32,6 @@ import java.util.Set;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hbase.CategoryBasedTimeout;
import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HColumnDescriptor;
@ -44,19 +43,16 @@ import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Durability; import org.apache.hadoop.hbase.client.Durability;
import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Bytes;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
import org.junit.rules.TestName; import org.junit.rules.TestName;
import org.junit.rules.TestRule;
import org.apache.hadoop.hbase.testclassification.MediumTests;
@Category({MediumTests.class}) @Category(SmallTests.class)
public class TestColumnSeeking { public class TestColumnSeeking {
@Rule public TestName name = new TestName(); @Rule public TestName name = new TestName();
@Rule public final TestRule timeout = CategoryBasedTimeout.builder().withTimeout(this.getClass()).
withLookingForStuckThread(true).build();
private final static HBaseTestingUtility TEST_UTIL = HBaseTestingUtility.createLocalHTU(); private final static HBaseTestingUtility TEST_UTIL = HBaseTestingUtility.createLocalHTU();

View File

@ -17,10 +17,10 @@
*/ */
package org.apache.hadoop.hbase.regionserver; package org.apache.hadoop.hbase.regionserver;
import junit.framework.TestCase;
import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.junit.Assert;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
import java.util.Random; import java.util.Random;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicLong;
@ -29,8 +29,8 @@ import java.util.concurrent.atomic.AtomicLong;
* This is a hammer test that verifies MultiVersionConcurrencyControl in a * This is a hammer test that verifies MultiVersionConcurrencyControl in a
* multiple writer single reader scenario. * multiple writer single reader scenario.
*/ */
@Category({MediumTests.class}) @Category(SmallTests.class)
public class TestMultiVersionConcurrencyControl { public class TestMultiVersionConcurrencyControl extends TestCase {
static class Writer implements Runnable { static class Writer implements Runnable {
final AtomicBoolean finished; final AtomicBoolean finished;
final MultiVersionConcurrencyControl mvcc; final MultiVersionConcurrencyControl mvcc;
@ -46,6 +46,7 @@ public class TestMultiVersionConcurrencyControl {
public boolean failed = false; public boolean failed = false;
public void run() { public void run() {
AtomicLong startPoint = new AtomicLong();
while (!finished.get()) { while (!finished.get()) {
MultiVersionConcurrencyControl.WriteEntry e = MultiVersionConcurrencyControl.WriteEntry e =
mvcc.begin(); mvcc.begin();
@ -123,9 +124,9 @@ public class TestMultiVersionConcurrencyControl {
} }
// check failure. // check failure.
Assert.assertFalse(readerFailed.get()); assertFalse(readerFailed.get());
for (int i = 0; i < n; ++i) { for (int i = 0; i < n; ++i) {
Assert.assertTrue(statuses[i].get()); assertTrue(statuses[i].get());
} }
} }
} }

View File

@ -25,8 +25,6 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.testclassification.MediumTests;
import org.apache.hadoop.hbase.CategoryBasedTimeout;
import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HBaseTestingUtility;
import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.HRegionInfo;
@ -34,6 +32,7 @@ import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl; import org.apache.hadoop.hbase.regionserver.MultiVersionConcurrencyControl;
import org.apache.hadoop.hbase.testclassification.SmallTests;
import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.FSTableDescriptors; import org.apache.hadoop.hbase.util.FSTableDescriptors;
import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.FSUtils;
@ -41,17 +40,13 @@ import org.apache.hadoop.hbase.wal.WAL;
import org.apache.hadoop.hbase.wal.WALFactory; import org.apache.hadoop.hbase.wal.WALFactory;
import org.apache.hadoop.hbase.wal.WALKey; import org.apache.hadoop.hbase.wal.WALKey;
import org.junit.Test; import org.junit.Test;
import org.junit.Rule;
import org.junit.rules.TestRule;
import org.junit.experimental.categories.Category; import org.junit.experimental.categories.Category;
/** /**
* Test many concurrent appenders to an WAL while rolling the log. * Test many concurrent appenders to an WAL while rolling the log.
*/ */
@Category({MediumTests.class}) @Category(SmallTests.class)
public class TestLogRollingNoCluster { public class TestLogRollingNoCluster {
@Rule public final TestRule timeout = CategoryBasedTimeout.builder().withTimeout(this.getClass()).
withLookingForStuckThread(true).build();
private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(); private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
private final static byte [] EMPTY_1K_ARRAY = new byte[1024]; private final static byte [] EMPTY_1K_ARRAY = new byte[1024];
private static final int THREAD_COUNT = 100; // Spin up this many threads private static final int THREAD_COUNT = 100; // Spin up this many threads

28
pom.xml
View File

@ -487,7 +487,6 @@
</dependencies> </dependencies>
<!-- Generic testing configuration for all packages --> <!-- Generic testing configuration for all packages -->
<configuration> <configuration>
<groups>${surefire.firstPartGroups}</groups>
<failIfNoTests>false</failIfNoTests> <failIfNoTests>false</failIfNoTests>
<skip>${surefire.skipFirstPart}</skip> <skip>${surefire.skipFirstPart}</skip>
<forkCount>${surefire.firstPartForkCount}</forkCount> <forkCount>${surefire.firstPartForkCount}</forkCount>
@ -1181,8 +1180,7 @@
<surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipFirstPart>false</surefire.skipFirstPart>
<surefire.skipSecondPart>false</surefire.skipSecondPart> <surefire.skipSecondPart>false</surefire.skipSecondPart>
<surefire.firstPartForkCount>1</surefire.firstPartForkCount> <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
<!--'C' in means multiply by the CPU count--> <surefire.secondPartForkCount>2</surefire.secondPartForkCount>
<surefire.secondPartForkCount>1C</surefire.secondPartForkCount>
<surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups> <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>
<surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups> <surefire.secondPartGroups>org.apache.hadoop.hbase.testclassification.MediumTests</surefire.secondPartGroups>
<surefire.testFailureIgnore>false</surefire.testFailureIgnore> <surefire.testFailureIgnore>false</surefire.testFailureIgnore>
@ -2206,7 +2204,27 @@
See as well the properties of the project for the values See as well the properties of the project for the values
when no profile is active. --> when no profile is active. -->
<profile> <profile>
<!-- Use it to launch all tests in the same JVM --> <!-- Use it to launch the tests without parallelisation -->
<id>nonParallelTests</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<surefire.firstPartForkCount>1</surefire.firstPartForkCount>
</properties>
</profile>
<profile>
<!-- Use it to launch the tests in parallel in the same JVM -->
<id>parallelTests</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<surefire.firstPartForkCount>1</surefire.firstPartForkCount>
</properties>
</profile>
<profile>
<!-- Use it to launch the tests in the same JVM -->
<id>singleJVMTests</id> <id>singleJVMTests</id>
<activation> <activation>
<activeByDefault>false</activeByDefault> <activeByDefault>false</activeByDefault>
@ -2280,7 +2298,7 @@
</activation> </activation>
<properties> <properties>
<surefire.firstPartForkCount>1</surefire.firstPartForkCount> <surefire.firstPartForkCount>1</surefire.firstPartForkCount>
<surefire.secondPartForkCount>1C</surefire.secondPartForkCount> <surefire.secondPartForkCount>5</surefire.secondPartForkCount>
<surefire.skipFirstPart>false</surefire.skipFirstPart> <surefire.skipFirstPart>false</surefire.skipFirstPart>
<surefire.skipSecondPart>false</surefire.skipSecondPart> <surefire.skipSecondPart>false</surefire.skipSecondPart>
<surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups> <surefire.firstPartGroups>org.apache.hadoop.hbase.testclassification.SmallTests</surefire.firstPartGroups>