SLING-4061 - fail all following tests upon even timeout, to fail the overall test faster
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1632084 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java b/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java
index 488801b..312b06b 100644
--- a/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java
+++ b/src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverTest.java
@@ -47,6 +47,7 @@
import org.apache.sling.launchpad.testservices.exported.FakeSlingHttpServletRequest;
import org.junit.AfterClass;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -69,6 +70,7 @@
private String [] vanity;
private static List<String> toDelete = new ArrayList<String>();
private static ResourceResolverFactory cleanupResolverFactory;
+ private static String eventTimeoutTopic;
@TestReference
private EventsCounter eventsCounter;
@@ -88,6 +90,11 @@
* that signals that mappings have been updated.
*/
private void saveMappings(Session session) throws Exception {
+ if(eventTimeoutTopic != null) {
+ // Avoid wasting a lot of time if events are not detected in timely fashion
+ fail("Event timeout (" + eventTimeoutTopic + ") detected in previous tests, failing saveMappings()");
+ }
+
final int oldEventsCount = eventsCounter.getEventsCount(MAPPING_EVENT_TOPIC);
session.save();
final long timeout = System.currentTimeMillis() + updateTimeout;
@@ -103,6 +110,7 @@
} catch(InterruptedException ignore) {
}
}
+ eventTimeoutTopic = MAPPING_EVENT_TOPIC;
fail("Timeout waiting for " + MAPPING_EVENT_TOPIC + " event, after " + updateTimeout + " msec");
}
@@ -161,6 +169,12 @@
}
@AfterClass
+ @BeforeClass
+ public static void clearTimeouts() {
+ eventTimeoutTopic = null;
+ }
+
+ @AfterClass
public static void deleteTestNodes() throws Exception {
final ResourceResolver resolver = cleanupResolverFactory.getAdministrativeResourceResolver(null);
final Session session = resolver.adaptTo(Session.class);