diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java index a41e383..4cdad5e 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRule.java @@ -19,6 +19,7 @@ package org.apache.hadoop.hbase; import java.util.concurrent.TimeUnit; +import org.apache.hadoop.hbase.testclassification.IntegrationTests; import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.SmallTests; @@ -63,6 +64,9 @@ public final class HBaseClassTestRule implements TestRule { // All tests have a 10minute timeout. return TimeUnit.MINUTES.toSeconds(13); } + if (c == IntegrationTests.class) { + return TimeUnit.MINUTES.toSeconds(20); + } } throw new IllegalArgumentException( clazz.getName() + " does not have SmallTests/MediumTests/LargeTests in @Category"); diff --git a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRuleChecker.java b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRuleChecker.java index 97c657f..c374903 100644 --- a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRuleChecker.java +++ b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseClassTestRuleChecker.java @@ -22,8 +22,12 @@ import static org.junit.Assert.fail; import java.lang.reflect.Field; import java.lang.reflect.Modifier; +import java.util.concurrent.TimeUnit; + +import org.apache.hadoop.hbase.testclassification.IntegrationTests; import org.apache.yetus.audience.InterfaceAudience; import org.junit.ClassRule; +import org.junit.experimental.categories.Category; import org.junit.runner.Description; import org.junit.runner.notification.RunListener; import org.junit.runner.notification.RunListener.ThreadSafe; @@ -37,6 +41,12 @@ public class HBaseClassTestRuleChecker extends RunListener { @Override public void testStarted(Description description) throws Exception { + Category[] categories = description.getTestClass().getAnnotationsByType(Category.class); + for (Class c : categories[0].value()) { + if (c == IntegrationTests.class) { + return; + } + } for (Field field : description.getTestClass().getFields()) { if (Modifier.isStatic(field.getModifiers()) && field.getType() == HBaseClassTestRule.class && field.isAnnotationPresent(ClassRule.class)) {