Author: markt
Date: Fri Sep 20 11:36:48 2013
New Revision: 1524978

URL: http://svn.apache.org/r1524978
Log:
Attempt to address intermittent failures suspect to be caused by 
timing/threading issues

Modified:
    tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java

Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java?rev=1524978&r1=1524977&r2=1524978&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsSubprotocols.java Fri 
Sep 20 11:36:48 2013
@@ -86,6 +86,14 @@ public class TestWsSubprotocols extends 
 
         Assert.assertTrue(wsSession.isOpen());
         Assert.assertEquals("sp2", wsSession.getNegotiatedSubprotocol());
+        // Client thread might move faster than server. Wait for upto 5s for 
the
+        // subProtocols to be set
+        int count = 0;
+        while (count < 50 && SubProtocolsEndpoint.subprotocols == null) {
+            count++;
+            Thread.sleep(100);
+        }
+        Assert.assertNotNull(SubProtocolsEndpoint.subprotocols);
         Assert.assertArrayEquals(new String[]{"sp1","sp2"},
                 SubProtocolsEndpoint.subprotocols.toArray(new String[2]));
         wsSession.close();
@@ -94,7 +102,7 @@ public class TestWsSubprotocols extends 
     @ServerEndpoint(value = "/echo", subprotocols = {"sp1","sp2"})
     public static class SubProtocolsEndpoint {
         public static String PATH_BASIC = "/echo";
-        public static List<String> subprotocols;
+        public static volatile List<String> subprotocols;
 
         @OnOpen
         public void processOpen(@SuppressWarnings("unused") Session session,



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to