accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ctubb...@apache.org
Subject [1/3] accumulo git commit: ACCUMULO-4443 Make PerformanceTests group consistent
Date Thu, 01 Sep 2016 22:39:55 GMT
Repository: accumulo
Updated Branches:
  refs/heads/1.8 ebd42e2ab -> be5c4334a
  refs/heads/master 762c14844 -> f644fb630


ACCUMULO-4443 Make PerformanceTests group consistent

Make PerformanceTests JUnit test category consistent with other test
categories. This includes execution by default with `mvn verify`.
Updated TESTING.md documentation to reflect the change.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/be5c4334
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/be5c4334
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/be5c4334

Branch: refs/heads/1.8
Commit: be5c4334a7a6fda223c3213c66f4f9acda8e9f46
Parents: ebd42e2
Author: Christopher Tubbs <ctubbsii@apache.org>
Authored: Thu Sep 1 17:45:50 2016 -0400
Committer: Christopher Tubbs <ctubbsii@apache.org>
Committed: Thu Sep 1 17:45:50 2016 -0400

----------------------------------------------------------------------
 TESTING.md                                      | 22 +++++---------
 pom.xml                                         | 32 +-------------------
 .../accumulo/test/AssignmentThreadsIT.java      |  7 +++--
 .../apache/accumulo/test/BalanceFasterIT.java   |  7 +++--
 .../org/apache/accumulo/test/ManySplitIT.java   |  5 +--
 .../apache/accumulo/test/PerformanceTest.java   | 27 -----------------
 .../test/categories/PerformanceTests.java       | 25 +++++++++++++++
 .../functional/DeleteTableDuringSplitIT.java    |  5 +--
 .../accumulo/test/functional/DurabilityIT.java  |  5 +--
 .../test/performance/RollWALPerformanceIT.java  |  5 +--
 10 files changed, 54 insertions(+), 86 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/TESTING.md
----------------------------------------------------------------------
diff --git a/TESTING.md b/TESTING.md
index 34c8073..23feb83 100644
--- a/TESTING.md
+++ b/TESTING.md
@@ -95,22 +95,16 @@ These tests will run by default during the `integration-test` lifecycle
phase us
 To execute only these tests, use `mvn verify -Dfailsafe.groups=org.apache.accumulo.test.categories.StandaloneCapableClusterTests`
 To execute everything except these tests, use `mvn verify -Dfailsafe.excludedGroups=org.apache.accumulo.test.categories.StandaloneCapableClusterTests`
 
-### Performance tests
+### Performance Tests (`PerformanceTests`)
 
-Performance tests refer to a small subset of integration tests which are not activated by
default. These tests allow
-developers to write tests which specifically exercise expected performance which may be dependent
on the available
-resources of the host machine. Normal integration tests should be capable of running anywhere
with a lower-bound on
-available memory.
-
-These tests are designated using the JUnit Category annotation with the `PerformanceTest`
interface in the
-accumulo-test module. See the `PerformanceTest` interface for more information on how to
use this to write your
-own performance test.
-
-To invoke the performance tests, activate the `performanceTests` Maven profile in addition
to the integration-test
-or verify Maven lifecycle. For example `mvn verify -PperformanceTests` would invoke all of
the integration tests:
-both normal integration tests and the performance tests. There is presently no way to invoke
only the performance
-tests without the rest of the integration tests.
+This category of tests refer to integration tests written specifically to
+exercise expected performance, which may be dependent on the available
+resources of the host machine. Normal integration tests should be capable of
+running anywhere with a lower-bound on available memory.
 
+These tests will run by default during the `integration-test` lifecycle phase using `mvn
verify`.
+To execute only these tests, use `mvn verify -Dfailsafe.groups=org.apache.accumulo.test.categories.PerformanceTests`
+To execute everything except these tests, use `mvn verify -Dfailsafe.excludedGroups=org.apache.accumulo.test.categories.PerformanceTests`
 
 ## Configuration for Standalone clusters
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index afd134b..ca1c560 100644
--- a/pom.xml
+++ b/pom.xml
@@ -116,8 +116,6 @@
     <url>https://builds.apache.org/view/A-D/view/Accumulo/</url>
   </ciManagement>
   <properties>
-    <!-- Interface used to separate tests with JUnit category -->
-    <accumulo.performanceTests>org.apache.accumulo.test.PerformanceTest</accumulo.performanceTests>
     <!-- used for filtering the java source with the current version -->
     <accumulo.release.version>${project.version}</accumulo.release.version>
     <assembly.tarLongFileMode>posix</assembly.tarLongFileMode>
@@ -129,7 +127,7 @@
     <eclipseFormatterStyle>${project.parent.basedir}/contrib/Eclipse-Accumulo-Codestyle.xml</eclipseFormatterStyle>
     <!-- extra release args for testing -->
     <extraReleaseArgs />
-    <failsafe.excludedGroups>${accumulo.performanceTests}</failsafe.excludedGroups>
+    <failsafe.excludedGroups />
     <failsafe.groups />
     <!-- findbugs-maven-plugin won't work on jdk8 or later; set to 3.0.0 or newer -->
     <findbugs.version>3.0.3</findbugs.version>
@@ -1371,34 +1369,6 @@
       </build>
     </profile>
     <profile>
-      <id>performanceTests</id>
-      <build>
-        <pluginManagement>
-          <plugins>
-            <!-- Add an additional execution for performance tests -->
-            <plugin>
-              <groupId>org.apache.maven.plugins</groupId>
-              <artifactId>maven-failsafe-plugin</artifactId>
-              <executions>
-                <execution>
-                  <!-- Run only the performance tests -->
-                  <id>run-performance-tests</id>
-                  <goals>
-                    <goal>integration-test</goal>
-                    <goal>verify</goal>
-                  </goals>
-                  <configuration>
-                    <excludedGroups />
-                    <groups>${accumulo.performanceTests}</groups>
-                  </configuration>
-                </execution>
-              </executions>
-            </plugin>
-          </plugins>
-        </pluginManagement>
-      </build>
-    </profile>
-    <profile>
       <id>aggregate-javadocs</id>
       <build>
         <pluginManagement>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/test/src/main/java/org/apache/accumulo/test/AssignmentThreadsIT.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/AssignmentThreadsIT.java b/test/src/main/java/org/apache/accumulo/test/AssignmentThreadsIT.java
index 7253e45..bbc1d47 100644
--- a/test/src/main/java/org/apache/accumulo/test/AssignmentThreadsIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/AssignmentThreadsIT.java
@@ -16,6 +16,7 @@
  */
 package org.apache.accumulo.test;
 
+import static com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
 import static org.junit.Assert.assertTrue;
 
 import java.util.Random;
@@ -26,16 +27,16 @@ import java.util.concurrent.TimeUnit;
 import org.apache.accumulo.core.client.Connector;
 import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl;
+import org.apache.accumulo.test.categories.MiniClusterOnlyTests;
+import org.apache.accumulo.test.categories.PerformanceTests;
 import org.apache.accumulo.test.functional.ConfigurableMacBase;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.Text;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import static com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
-
 // ACCUMULO-1177
-@Category(PerformanceTest.class)
+@Category({MiniClusterOnlyTests.class, PerformanceTests.class})
 public class AssignmentThreadsIT extends ConfigurableMacBase {
 
   @Override

http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/test/src/main/java/org/apache/accumulo/test/BalanceFasterIT.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/BalanceFasterIT.java b/test/src/main/java/org/apache/accumulo/test/BalanceFasterIT.java
index 327b42b..6e01cea 100644
--- a/test/src/main/java/org/apache/accumulo/test/BalanceFasterIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/BalanceFasterIT.java
@@ -16,6 +16,7 @@
  */
 package org.apache.accumulo.test;
 
+import static com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assume.assumeFalse;
 
@@ -35,6 +36,8 @@ import org.apache.accumulo.core.metadata.MetadataTable;
 import org.apache.accumulo.core.metadata.schema.MetadataSchema;
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl;
+import org.apache.accumulo.test.categories.MiniClusterOnlyTests;
+import org.apache.accumulo.test.categories.PerformanceTests;
 import org.apache.accumulo.test.functional.ConfigurableMacBase;
 import org.apache.accumulo.test.mrit.IntegrationTestMapReduce;
 import org.apache.hadoop.conf.Configuration;
@@ -43,10 +46,8 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import static com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly;
-
 // ACCUMULO-2952
-@Category(PerformanceTest.class)
+@Category({MiniClusterOnlyTests.class, PerformanceTests.class})
 public class BalanceFasterIT extends ConfigurableMacBase {
 
   @Override

http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/test/src/main/java/org/apache/accumulo/test/ManySplitIT.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/ManySplitIT.java b/test/src/main/java/org/apache/accumulo/test/ManySplitIT.java
index 09aa777..cec93ed 100644
--- a/test/src/main/java/org/apache/accumulo/test/ManySplitIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/ManySplitIT.java
@@ -33,16 +33,17 @@ import org.apache.accumulo.fate.util.UtilWaitThread;
 import org.apache.accumulo.minicluster.MemoryUnit;
 import org.apache.accumulo.minicluster.ServerType;
 import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl;
+import org.apache.accumulo.test.categories.MiniClusterOnlyTests;
+import org.apache.accumulo.test.categories.PerformanceTests;
 import org.apache.accumulo.test.functional.ConfigurableMacBase;
 import org.apache.accumulo.test.mrit.IntegrationTestMapReduce;
-import org.apache.accumulo.test.PerformanceTest;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.Text;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-@Category(PerformanceTest.class)
+@Category({MiniClusterOnlyTests.class, PerformanceTests.class})
 public class ManySplitIT extends ConfigurableMacBase {
 
   final int SPLITS = 10_000;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/test/src/main/java/org/apache/accumulo/test/PerformanceTest.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/PerformanceTest.java b/test/src/main/java/org/apache/accumulo/test/PerformanceTest.java
deleted file mode 100644
index ab652c1..0000000
--- a/test/src/main/java/org/apache/accumulo/test/PerformanceTest.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.accumulo.test;
-
-/**
- * Annotate integration tests which test performance-related aspects of Accumulo or are sensitive
to timings and hardware capabilities.
- * <p>
- * Intended to be used with the JUnit Category annotation on integration test classes. The
Category annotation should be placed at the class-level. Test class
- * names should still be suffixed with 'IT' as the rest of the integration tests.
- */
-public interface PerformanceTest {
-
-}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/test/src/main/java/org/apache/accumulo/test/categories/PerformanceTests.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/categories/PerformanceTests.java
b/test/src/main/java/org/apache/accumulo/test/categories/PerformanceTests.java
new file mode 100644
index 0000000..887e2c3
--- /dev/null
+++ b/test/src/main/java/org/apache/accumulo/test/categories/PerformanceTests.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.test.categories;
+
+/**
+ * Annotate integration tests which test performance-related aspects of Accumulo or are sensitive
to timings and hardware capabilities.
+ * <p>
+ * Intended to be used with the JUnit Category annotation on integration test classes. The
Category annotation should be placed at the class-level. Test class
+ * names should still be suffixed with 'IT' as the rest of the integration tests.
+ */
+public interface PerformanceTests {}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/test/src/main/java/org/apache/accumulo/test/functional/DeleteTableDuringSplitIT.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/DeleteTableDuringSplitIT.java
b/test/src/main/java/org/apache/accumulo/test/functional/DeleteTableDuringSplitIT.java
index 2c34537..8145031 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/DeleteTableDuringSplitIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/DeleteTableDuringSplitIT.java
@@ -29,14 +29,15 @@ import org.apache.accumulo.core.client.TableNotFoundException;
 import org.apache.accumulo.core.util.SimpleThreadPool;
 import org.apache.accumulo.fate.util.UtilWaitThread;
 import org.apache.accumulo.harness.AccumuloClusterHarness;
-import org.apache.accumulo.test.PerformanceTest;
+import org.apache.accumulo.test.categories.PerformanceTests;
+import org.apache.accumulo.test.categories.StandaloneCapableClusterTests;
 import org.apache.hadoop.io.Text;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
 // ACCUMULO-2361
-@Category(PerformanceTest.class)
+@Category({StandaloneCapableClusterTests.class, PerformanceTests.class})
 public class DeleteTableDuringSplitIT extends AccumuloClusterHarness {
 
   @Override

http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/test/src/main/java/org/apache/accumulo/test/functional/DurabilityIT.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/DurabilityIT.java b/test/src/main/java/org/apache/accumulo/test/functional/DurabilityIT.java
index 00d715f..91bbabc 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/DurabilityIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/DurabilityIT.java
@@ -35,8 +35,9 @@ import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.minicluster.ServerType;
 import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl;
 import org.apache.accumulo.minicluster.impl.ProcessReference;
+import org.apache.accumulo.test.categories.MiniClusterOnlyTests;
+import org.apache.accumulo.test.categories.PerformanceTests;
 import org.apache.accumulo.test.mrit.IntegrationTestMapReduce;
-import org.apache.accumulo.test.PerformanceTest;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.RawLocalFileSystem;
 import org.junit.BeforeClass;
@@ -47,7 +48,7 @@ import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Iterators;
 
-@Category(PerformanceTest.class)
+@Category({MiniClusterOnlyTests.class, PerformanceTests.class})
 public class DurabilityIT extends ConfigurableMacBase {
   private static final Logger log = LoggerFactory.getLogger(DurabilityIT.class);
 

http://git-wip-us.apache.org/repos/asf/accumulo/blob/be5c4334/test/src/main/java/org/apache/accumulo/test/performance/RollWALPerformanceIT.java
----------------------------------------------------------------------
diff --git a/test/src/main/java/org/apache/accumulo/test/performance/RollWALPerformanceIT.java
b/test/src/main/java/org/apache/accumulo/test/performance/RollWALPerformanceIT.java
index 827d6d8..efc03dd 100644
--- a/test/src/main/java/org/apache/accumulo/test/performance/RollWALPerformanceIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/performance/RollWALPerformanceIT.java
@@ -29,17 +29,18 @@ import org.apache.accumulo.core.metadata.MetadataTable;
 import org.apache.accumulo.core.metadata.RootTable;
 import org.apache.accumulo.minicluster.ServerType;
 import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl;
+import org.apache.accumulo.test.categories.MiniClusterOnlyTests;
+import org.apache.accumulo.test.categories.PerformanceTests;
 import org.apache.accumulo.test.continuous.ContinuousIngest;
 import org.apache.accumulo.test.functional.ConfigurableMacBase;
 import org.apache.accumulo.test.mrit.IntegrationTestMapReduce;
-import org.apache.accumulo.test.PerformanceTest;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.Text;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-@Category(PerformanceTest.class)
+@Category({MiniClusterOnlyTests.class, PerformanceTests.class})
 public class RollWALPerformanceIT extends ConfigurableMacBase {
 
   @BeforeClass


Mime
View raw message