Author: cmueller
Date: Sun Sep  9 12:11:36 2012
New Revision: 1382475

URL: http://svn.apache.org/viewvc?rev=1382475&view=rev
Log:
fixed test which randomly fail on slow CI server

Modified:
    
camel/trunk/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/policy/ZookeeperElectionTest.java

Modified: 
camel/trunk/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/policy/ZookeeperElectionTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/policy/ZookeeperElectionTest.java?rev=1382475&r1=1382474&r2=1382475&view=diff
==============================================================================
--- 
camel/trunk/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/policy/ZookeeperElectionTest.java
 (original)
+++ 
camel/trunk/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/policy/ZookeeperElectionTest.java
 Sun Sep  9 12:11:36 2012
@@ -76,8 +76,7 @@ public class ZookeeperElectionTest exten
 
         candidateOneContext.stop(); // the first candidate was killed.
 
-        delay(3000); // more than the timeout on the zeekeeper server.
-        assertTrue("The second candidate should have been elected.", 
electionCandidate2.isMaster());
+        assertIsMaster(electionCandidate2);
     }
 
     @Test
@@ -89,7 +88,7 @@ public class ZookeeperElectionTest exten
         assertTrue("The first candidate was not elected.", 
electionCandidate1.isMaster());
         ZooKeeperElection electionCandidate2 = 
createElectionCandidate(candidateTwoContext, 2);
         // Need to wait for a while to Candidate2 to be elected.
-        Thread.sleep(2000);
+        Thread.sleep(3000);
         assertTrue("The second candidate should also be a master.", 
electionCandidate2.isMaster());
     }
 
@@ -120,4 +119,15 @@ public class ZookeeperElectionTest exten
     private ZooKeeperElection createElectionCandidate(final 
DefaultCamelContext context, int masterCount) {
         return new ZooKeeperElection(context.createProducerTemplate(), 
context, ELECTION_URI, masterCount);
     }
+
+    private void assertIsMaster(ZooKeeperElection electionCandidate) throws 
InterruptedException {
+        // Need to wait for a while to be elected.
+        long timeout = System.currentTimeMillis() + 5000;
+        
+        while (!electionCandidate.isMaster() && timeout > 
System.currentTimeMillis()) {
+            Thread.sleep(200);
+        }
+        
+        assertTrue("The candidate should have been elected.", 
electionCandidate.isMaster());
+    }
 }


Reply via email to