You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:26:33 UTC
[sling-org-apache-sling-discovery-base] 06/11: SLING-5598 : exclude
slow running test by newly introduced Slow junit category - to run them
nevertheless use -PincludeSlowTests
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.discovery.base-1.1.4
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-discovery-base.git
commit 42465788cb5c36675b3392e8728ea592c215af79
Author: Stefan Egli <st...@apache.org>
AuthorDate: Wed Apr 27 09:25:49 2016 +0000
SLING-5598 : exclude slow running test by newly introduced Slow junit category - to run them nevertheless use -PincludeSlowTests
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/discovery/base@1741177 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 40 +++++++++++++-----
.../announcement/AnnouncementRegistryImplTest.java | 47 +++++++++++++++++-----
.../base/its/AbstractClusterLoadTest.java | 19 +++++++++
.../discovery/base/its/AbstractClusterTest.java | 6 +++
.../base/its/AbstractDiscoveryServiceTest.java | 21 ++++++++++
5 files changed, 113 insertions(+), 20 deletions(-)
diff --git a/pom.xml b/pom.xml
index be03e96..497656f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,15 +40,21 @@
<url>http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/base</url>
</scm>
+ <properties>
+ <!-- by default Slow tests are excluded - use -PincludeSlowTests to include them -->
+ <sling.excluded.surefire.groups>org.apache.sling.commons.testing.junit.categories.Slow</sling.excluded.surefire.groups>
+ </properties>
+
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <redirectTestOutputToFile>false</redirectTestOutputToFile>
- <argLine>-Xmx2048m</argLine>
- </configuration>
+ <configuration>
+ <redirectTestOutputToFile>true</redirectTestOutputToFile>
+ <argLine>-Xmx2048m</argLine>
+ <excludedGroups>${sling.excluded.surefire.groups}</excludedGroups>
+ </configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
@@ -90,6 +96,17 @@
</plugin>
</plugins>
</build>
+ <profiles>
+ <profile>
+ <!-- when -PincludeSlowTests is set, the Slow tests should also be executed,
+ hence unsetting the category excludes 'sling.excluded.surefire.groups' to
+ achieve that. -->
+ <id>includeSlowTests</id>
+ <properties>
+ <sling.excluded.surefire.groups></sling.excluded.surefire.groups>
+ </properties>
+ </profile>
+ </profiles>
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
@@ -127,7 +144,7 @@
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-api</artifactId>
- <version>2.2.4</version>
+ <version>2.10.2</version>
<scope>provided</scope>
</dependency>
<dependency>
@@ -151,7 +168,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.discovery.commons</artifactId>
- <version>1.0.7-SNAPSHOT</version>
+ <version>1.0.13-SNAPSHOT</version>
</dependency>
<!-- besides including discovery.commons' normal jar above,
for testing a few test helper classes are also reused.
@@ -159,7 +176,7 @@
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.discovery.commons</artifactId>
- <version>1.0.7-SNAPSHOT</version>
+ <version>1.0.13-SNAPSHOT</version>
<scope>test</scope>
<type>test-jar</type>
</dependency>
@@ -229,6 +246,10 @@
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock-junit4</artifactId>
+ <!-- with 2.5.1 jmock-junit4, which has a dependency on junit 4.4
+ you get the following: NoSuchMethodError: org.junit.runner.Request.classes(Lorg/junit/runner/Computer;[Ljava/lang/Class;)Lorg/junit/runner/Request;
+ hence this explicit newer dependency. -->
+ <!-- <version>2.8.2</version> -->
</dependency>
<dependency>
<groupId>org.mockito</groupId>
@@ -239,13 +260,13 @@
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-jcr-commons</artifactId>
- <version>2.10.1</version>
+ <version>2.12.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.commons.testing</artifactId>
- <version>2.0.22</version>
+ <version>2.0.25-SNAPSHOT</version>
<scope>test</scope>
<exclusions>
<!-- slf4j simple implementation logs INFO + higher to stdout (we don't want that behaviour) -->
@@ -296,6 +317,7 @@
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.testing.sling-mock</artifactId>
<version>1.2.0</version>
+ <scope>test</scope>
</dependency>
</dependencies>
</project>
diff --git a/src/test/java/org/apache/sling/discovery/base/connectors/announcement/AnnouncementRegistryImplTest.java b/src/test/java/org/apache/sling/discovery/base/connectors/announcement/AnnouncementRegistryImplTest.java
index 062a56b..3706d6e 100644
--- a/src/test/java/org/apache/sling/discovery/base/connectors/announcement/AnnouncementRegistryImplTest.java
+++ b/src/test/java/org/apache/sling/discovery/base/connectors/announcement/AnnouncementRegistryImplTest.java
@@ -31,6 +31,7 @@ import javax.jcr.Session;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.commons.testing.jcr.RepositoryProvider;
+import org.apache.sling.commons.testing.junit.categories.Slow;
import org.apache.sling.discovery.ClusterView;
import org.apache.sling.discovery.InstanceDescription;
import org.apache.sling.discovery.base.connectors.BaseConfig;
@@ -43,6 +44,7 @@ import org.apache.sling.discovery.commons.providers.DefaultInstanceDescription;
import org.apache.sling.discovery.commons.providers.spi.base.DummySlingSettingsService;
import org.junit.Before;
import org.junit.Test;
+import org.junit.experimental.categories.Category;
public class AnnouncementRegistryImplTest {
@@ -78,6 +80,16 @@ public class AnnouncementRegistryImplTest {
@Test
public void testRegisterUnregister() throws Exception {
+ doTestRegisterUnregister(false);
+ }
+
+ @Category(Slow.class)
+ @Test
+ public void testRegisterUnregister_Slow() throws Exception {
+ doTestRegisterUnregister(true);
+ }
+
+ private void doTestRegisterUnregister(boolean includeFinalExpiryCheck) throws Exception {
try{
registry.registerAnnouncement(null);
fail("should complain");
@@ -142,9 +154,10 @@ public class AnnouncementRegistryImplTest {
assertTrue(registry.registerAnnouncement(ann)!=-1);
assertEquals(1, registry.listInstances(localCluster).size());
- Thread.sleep(10500);
- assertEquals(0, registry.listInstances(localCluster).size());
-
+ if (includeFinalExpiryCheck) {
+ Thread.sleep(10500);
+ assertEquals(0, registry.listInstances(localCluster).size());
+ }
}
@Test
@@ -315,6 +328,16 @@ public class AnnouncementRegistryImplTest {
@Test
public void testCluster() throws Exception {
+ doTestCluster(false);
+ }
+
+ @Category(Slow.class)
+ @Test
+ public void testCluster_Slow() throws Exception {
+ doTestCluster(true);
+ }
+
+ private void doTestCluster(boolean includeFinalExpiryCheck) throws Exception {
ClusterView cluster1 = createCluster(2);
ClusterView cluster2 = createCluster(4);
ClusterView cluster3 = createCluster(7);
@@ -372,15 +395,17 @@ public class AnnouncementRegistryImplTest {
assertEquals(0, registry2.listLocalIncomingAnnouncements().size());
assertAnnouncements(registry2, myCluster, 3, 8);
- Thread.sleep(10500);
- assertAnnouncements(registry1, myCluster, 3, 8);
- assertAnnouncements(registry2, myCluster, 3, 8);
- registry1.checkExpiredAnnouncements();
- registry2.checkExpiredAnnouncements();
- assertAnnouncements(registry1, myCluster, 1, 2);
- assertAnnouncements(registry2, myCluster, 1, 2);
+ if (includeFinalExpiryCheck) {
+ Thread.sleep(10500);
+ assertAnnouncements(registry1, myCluster, 3, 8);
+ assertAnnouncements(registry2, myCluster, 3, 8);
+ registry1.checkExpiredAnnouncements();
+ registry2.checkExpiredAnnouncements();
+ assertAnnouncements(registry1, myCluster, 1, 2);
+ assertAnnouncements(registry2, myCluster, 1, 2);
+ }
}
-
+
private void assertAnnouncements(AnnouncementRegistryImpl registry,
ClusterView myCluster, int expectedNumAnnouncements, int expectedNumInstances) {
Announcement ann = createAnnouncement(myCluster, 0, false);
diff --git a/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterLoadTest.java b/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterLoadTest.java
index 7667335..ae98d3d 100644
--- a/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterLoadTest.java
+++ b/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterLoadTest.java
@@ -25,6 +25,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Random;
+import org.apache.sling.commons.testing.junit.categories.Slow;
import org.apache.sling.discovery.base.commons.UndefinedClusterViewException;
import org.apache.sling.discovery.base.its.setup.VirtualInstance;
import org.apache.sling.discovery.base.its.setup.VirtualInstanceBuilder;
@@ -32,6 +33,7 @@ import org.apache.sling.discovery.base.its.setup.WithholdingAppender;
import org.apache.sling.testing.tools.retry.RetryLoop;
import org.junit.After;
import org.junit.Test;
+import org.junit.experimental.categories.Category;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -110,35 +112,52 @@ public abstract class AbstractClusterLoadTest {
}
@Test
+ public void testTwoInstancesFast() throws Throwable {
+ doTest(2, 3);
+ }
+
+ @Test
+ public void testThreeInstancesFast() throws Throwable {
+ doTest(3, 3);
+ }
+
+ @Category(Slow.class)
+ @Test
public void testTwoInstances() throws Throwable {
doTest(2, 5);
}
+ @Category(Slow.class)
@Test
public void testThreeInstances() throws Throwable {
doTest(3, 6);
}
+ @Category(Slow.class)
@Test
public void testFourInstances() throws Throwable {
doTest(4, 7);
}
+ @Category(Slow.class)
@Test
public void testFiveInstances() throws Throwable {
doTest(5, 8);
}
+ @Category(Slow.class)
@Test
public void testSixInstances() throws Throwable {
doTest(6, 9);
}
+ @Category(Slow.class)
@Test
public void testSevenInstances() throws Throwable {
doTest(7, 10);
}
+ @Category(Slow.class)
@Test
public void testEightInstances() throws Throwable {
doTest(8, 50);
diff --git a/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java b/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java
index 6b25821..80ff0c0 100644
--- a/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java
+++ b/src/test/java/org/apache/sling/discovery/base/its/AbstractClusterTest.java
@@ -36,6 +36,7 @@ import java.util.concurrent.Semaphore;
import org.apache.log4j.Level;
import org.apache.log4j.LogManager;
+import org.apache.sling.commons.testing.junit.categories.Slow;
import org.apache.sling.discovery.ClusterView;
import org.apache.sling.discovery.InstanceDescription;
import org.apache.sling.discovery.TopologyEvent;
@@ -56,6 +57,7 @@ import org.apache.sling.discovery.base.its.setup.mock.PropertyProviderImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.junit.experimental.categories.Category;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -325,6 +327,7 @@ public abstract class AbstractClusterTest {
* then simulate load balancer switching from instance1 to instance2 - hence pings go to instance2
*
*/
+ @Category(Slow.class) //TODO: this takes env 45sec
@Test
public void testConnectorSwitching4139() throws Throwable {
final int MIN_EVENT_DELAY = 1;
@@ -504,6 +507,7 @@ public abstract class AbstractClusterTest {
}
+ @Category(Slow.class) //TODO: this takes env 25sec
@Test
public void testDuplicateInstance3726() throws Throwable {
logger.info("testDuplicateInstance3726: start");
@@ -1240,6 +1244,7 @@ public abstract class AbstractClusterTest {
logger.info("testClusterView: end");
}
+ @Category(Slow.class) //TODO: this takes env 15sec
@Test
public void testAdditionalInstance() throws Throwable {
logger.info("testAdditionalInstance: start");
@@ -1454,6 +1459,7 @@ public abstract class AbstractClusterTest {
* the second listener still gets the event
* @throws Throwable
*/
+ @Category(Slow.class) //TODO: this takes env 15sec
@Test
public void testLongRunningListener() throws Throwable {
// let the instance1 become alone, instance2 is idle
diff --git a/src/test/java/org/apache/sling/discovery/base/its/AbstractDiscoveryServiceTest.java b/src/test/java/org/apache/sling/discovery/base/its/AbstractDiscoveryServiceTest.java
index 3d86138..2e69c7d 100644
--- a/src/test/java/org/apache/sling/discovery/base/its/AbstractDiscoveryServiceTest.java
+++ b/src/test/java/org/apache/sling/discovery/base/its/AbstractDiscoveryServiceTest.java
@@ -27,6 +27,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Random;
+import org.apache.sling.commons.testing.junit.categories.Slow;
import org.apache.sling.discovery.InstanceDescription;
import org.apache.sling.discovery.TopologyEvent;
import org.apache.sling.discovery.TopologyEvent.Type;
@@ -39,6 +40,7 @@ import org.apache.sling.testing.tools.retry.RetryLoop.Condition;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.junit.experimental.categories.Category;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -277,6 +279,22 @@ public abstract class AbstractDiscoveryServiceTest {
}
@Test
+ public void testFiveInstances() throws Throwable {
+ logger.info("testFiveInstances: start");
+ Tester i1 = newInstance("i1", 1, 30, 250, null);
+ for(int i=2; i<=5; i++) {
+ Tester in = newInstance("i"+i, 1, 30, 250, i1.instance);
+ }
+ logger.info("testFiveInstances: starting retry loop (40sec max)");
+ startRetryLoop(testers, 40);
+ i1.instance.dumpRepo();
+ i1.assertNoFailures();
+ assertStableTopology(testers.toArray(new Tester[0]));
+ logger.info("testFiveInstances: end");
+ }
+
+ @Category(Slow.class) //TODO: this takes env 10sec
+ @Test
public void testTenInstances() throws Throwable {
logger.info("testTenInstances: start");
Tester i1 = newInstance("i1", 1, 30, 250, null);
@@ -291,6 +309,7 @@ public abstract class AbstractDiscoveryServiceTest {
logger.info("testTenInstances: end");
}
+ @Category(Slow.class) //TODO: this takes env 15sec
@Test
public void testTwentyInstances() throws Throwable {
logger.info("testTwentyInstances: start");
@@ -306,6 +325,7 @@ public abstract class AbstractDiscoveryServiceTest {
logger.info("testTwentyInstances: end");
}
+ @Category(Slow.class) //TODO: this takes env 40sec
@Test
public void testTwentyFourInstances() throws Throwable {
logger.info("testTwentyFourInstances: start");
@@ -350,6 +370,7 @@ public abstract class AbstractDiscoveryServiceTest {
}, retryTimeoutSeconds /*seconds*/, 1000/*millis*/);
}
+ @Category(Slow.class) //TODO: this takes env 120sec
@Test
public void testStartStopFiesta() throws Throwable {
final Tester[] instances = new Tester[8];
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.