From b6ec1598e8a41c52cac7956f83ce420b35ab7b09 Mon Sep 17 00:00:00 2001 From: Rob Austin Date: Fri, 26 Dec 2014 18:40:06 +0000 Subject: [PATCH] updated the wait till equal on the TcpSocketReplicationTest --- .../map/TCPSocketReplicationTest.java | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/test/java/net/openhft/chronicle/map/TCPSocketReplicationTest.java b/src/test/java/net/openhft/chronicle/map/TCPSocketReplicationTest.java index 32df4b0bd..a3721e80e 100644 --- a/src/test/java/net/openhft/chronicle/map/TCPSocketReplicationTest.java +++ b/src/test/java/net/openhft/chronicle/map/TCPSocketReplicationTest.java @@ -25,6 +25,8 @@ import org.junit.Test; import java.io.Closeable; import java.io.IOException; import java.net.InetSocketAddress; +import java.util.HashMap; +import java.util.Map; import java.util.Random; import java.util.Set; @@ -176,10 +178,27 @@ public class TCPSocketReplicationTest { * @throws InterruptedException */ private void waitTillEqual(final int timeOutMs) throws InterruptedException { - int t = 0; - for (; t < timeOutMs; t++) { - if (map1.equals(map2)) - break; + + Map map1UnChanged = new HashMap(); + Map map2UnChanged = new HashMap(); + + int numberOfTimesTheSame = 0; + for (int t = 0; t < timeOutMs + 100; t++) { + if (map1.equals(map2)) { + if (map1.equals(map1UnChanged) && map2.equals(map2UnChanged)) { + numberOfTimesTheSame++; + } else { + numberOfTimesTheSame = 0; + map1UnChanged = new HashMap(map1); + map2UnChanged = new HashMap(map2); + } + Thread.sleep(1); + if (numberOfTimesTheSame == 100) { + System.out.println("same"); + break; + } + + } Thread.sleep(1); } }