Author: stefanegli
Date: Tue Mar 4 10:44:45 2014
New Revision: 1574024
URL: http://svn.apache.org/r1574024
Log:
no-jira: fixing TopologyTest by properly stopping the Instance, as otherwise
this leaks VotingHandlers into subsequent test cases and ruins their results
Modified:
sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/Instance.java
sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/topology/TopologyTest.java
Modified:
sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/Instance.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/Instance.java?rev=1574024&r1=1574023&r2=1574024&view=diff
==============================================================================
---
sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/Instance.java
(original)
+++
sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/setup/Instance.java
Tue Mar 4 10:44:45 2014
@@ -576,10 +576,11 @@ public class Instance {
public void stop() throws Exception {
logger.info("stop: stopping slingId="+slingId+",
debugName="+debugName);
- if (heartbeatRunner!=null) {
- heartbeatRunner.stop();
- heartbeatRunner = null;
- }
+ try {
+ stopHeartbeats();
+ } catch (Throwable e) {
+ throw new Exception("Caught Throwable in stopHeartbeats: "+e, e);
+ }
if ((observationListener != null) && (observationManager != null)) {
logger.info("stop: removing listener for slingId="+slingId+":
"+observationListener);
observationManager.removeEventListener(observationListener);
Modified:
sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/topology/TopologyTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/topology/TopologyTest.java?rev=1574024&r1=1574023&r2=1574024&view=diff
==============================================================================
---
sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/topology/TopologyTest.java
(original)
+++
sling/trunk/bundles/extensions/discovery/impl/src/test/java/org/apache/sling/discovery/impl/topology/TopologyTest.java
Tue Mar 4 10:44:45 2014
@@ -33,10 +33,15 @@ import org.apache.sling.discovery.Topolo
import org.apache.sling.discovery.impl.setup.Instance;
import org.apache.sling.discovery.impl.topology.announcement.Announcement;
import
org.apache.sling.discovery.impl.topology.connector.TopologyConnectorClientInformation;
+import org.junit.After;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TopologyTest {
+ private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
class Connector {
private final Instance from;
@@ -53,8 +58,20 @@ public class TopologyTest {
}
}
+ private final List<Instance> instances = new LinkedList<Instance>();
+
+ @After
+ public void tearDown() throws Exception {
+ for (Iterator<Instance> it = instances.iterator(); it.hasNext();) {
+ final Instance instance = it.next();
+ instance.stop();
+ }
+ }
+
private Instance createInstance(String debugName) throws Exception {
- return Instance.newStandaloneInstance(debugName, true);
+ final Instance instance = Instance.newStandaloneInstance(debugName,
true);
+ instances.add(instance);
+ return instance;
}
private Connector createConnector(Instance instance1, Instance instance2)
throws Throwable {
@@ -152,17 +169,22 @@ public class TopologyTest {
@Test
public void testLargeTopologyWithHub() throws Throwable {
+ logger.info("testLargeTopologyWithHub: start");
final int TEST_SIZE = 100;
Instance hub = createInstance("hub");
List<String> slingIds = new LinkedList<String>();
slingIds.add(hub.getSlingId());
for(int i=0; i<TEST_SIZE; i++) {
+// logger.info("testLargeTopologyWithHub: adding instance "+i);
Instance instance = createInstance("instance"+i);
+// logger.info("testLargeTopologyWithHub: adding connector "+i);
Connector connector = createConnector(instance, hub);
slingIds.add(instance.getSlingId());
}
+ logger.info("testLargeTopologyWithHub: checking if all connectors are
registered");
assertTopologyConsistsOf(hub.getDiscoveryService().getTopology(),
slingIds.toArray(new String[slingIds.size()]));
+ logger.info("testLargeTopologyWithHub: end");
}
}