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: [email protected]
For additional commands, e-mail: [email protected]