Author: markt
Date: Fri Mar 18 15:29:44 2016
New Revision: 1735615

URL: http://svn.apache.org/viewvc?rev=1735615&view=rev
Log:
Make test more robust after failure observed with NIO2

Modified:
    tomcat/trunk/test/org/apache/tomcat/websocket/server/TestShutdown.java

Modified: tomcat/trunk/test/org/apache/tomcat/websocket/server/TestShutdown.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/server/TestShutdown.java?rev=1735615&r1=1735614&r2=1735615&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/server/TestShutdown.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/server/TestShutdown.java Fri 
Mar 18 15:29:44 2016
@@ -20,6 +20,7 @@ import java.io.IOException;
 import java.net.URI;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
 
 import javax.websocket.ClientEndpointConfig;
 import javax.websocket.ContainerProvider;
@@ -68,6 +69,14 @@ public class TestShutdown extends Tomcat
         wsSession.addMessageHandler(handler);
         wsSession.getBasicRemote().sendText("Hello");
 
+        int count = 0;
+        while (count < 10 && EchoBufferedEndpoint.messageCount.get() == 0) {
+            Thread.sleep(200);
+            count++;
+        }
+        Assert.assertNotEquals("Message not received by server",
+                EchoBufferedEndpoint.messageCount.get(), 0);
+
         tomcat.stop();
 
         Assert.assertTrue("Latch expired waiting for message", latch.await(10, 
TimeUnit.SECONDS));
@@ -85,6 +94,8 @@ public class TestShutdown extends Tomcat
     @ServerEndpoint("/test")
     public static class EchoBufferedEndpoint {
 
+        private static AtomicLong messageCount = new AtomicLong(0);
+
         @OnOpen
         public void onOpen(Session session, @SuppressWarnings("unused") 
EndpointConfig  epc)
                 throws IOException {
@@ -93,6 +104,7 @@ public class TestShutdown extends Tomcat
 
         @OnMessage
         public void onMessage(Session session, String msg) throws IOException {
+            messageCount.incrementAndGet();
             session.getBasicRemote().sendText(msg);
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to