This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new ff2cb3c054 Refactor test to use less memory
ff2cb3c054 is described below

commit ff2cb3c05400fc2153c89ec94d9bda60c0a7e9f6
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Feb 5 10:10:18 2025 +0000

    Refactor test to use less memory
---
 .../tomcat/websocket/TestWebSocketFrameClient.java       |  8 ++------
 .../tomcat/websocket/TesterMessageCountClient.java       | 16 ++++++++++++++++
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java 
b/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java
index 1d7caea3ed..70d554a199 100644
--- a/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java
+++ b/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java
@@ -77,7 +77,7 @@ public class TestWebSocketFrameClient extends 
WebSocketBaseTest {
         Session wsSession = 
wsContainer.connectToServer(TesterProgrammaticEndpoint.class, 
clientEndpointConfig,
                 new URI("ws://localhost:" + getPort() + 
TesterFirehoseServer.PATH));
         CountDownLatch latch = new 
CountDownLatch(TesterFirehoseServer.MESSAGE_COUNT);
-        BasicText handler = new BasicText(latch);
+        BasicText handler = new BasicText(latch, TesterFirehoseServer.MESSAGE);
         wsSession.addMessageHandler(handler);
         wsSession.getBasicRemote().sendText("Hello");
 
@@ -87,11 +87,7 @@ public class TestWebSocketFrameClient extends 
WebSocketBaseTest {
         // if the right number of messages arrived
         handler.getLatch().await(TesterFirehoseServer.WAIT_TIME_MILLIS, 
TimeUnit.MILLISECONDS);
 
-        Queue<String> messages = handler.getMessages();
-        Assert.assertEquals(TesterFirehoseServer.MESSAGE_COUNT, 
messages.size());
-        for (String message : messages) {
-            Assert.assertEquals(TesterFirehoseServer.MESSAGE, message);
-        }
+        Assert.assertEquals(TesterFirehoseServer.MESSAGE_COUNT, 
handler.getMessageCount());
     }
 
     @Test
diff --git a/test/org/apache/tomcat/websocket/TesterMessageCountClient.java 
b/test/org/apache/tomcat/websocket/TesterMessageCountClient.java
index 85a2f775d1..ee5062c994 100644
--- a/test/org/apache/tomcat/websocket/TesterMessageCountClient.java
+++ b/test/org/apache/tomcat/websocket/TesterMessageCountClient.java
@@ -22,6 +22,7 @@ import java.util.Queue;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import jakarta.websocket.ClientEndpoint;
 import jakarta.websocket.CloseReason;
@@ -144,6 +145,7 @@ public class TesterMessageCountClient {
     public static class BasicText extends BasicHandler<String> {
 
         private final String expected;
+        private final AtomicInteger messageCount;
 
         public BasicText(CountDownLatch latch) {
             this(latch, null);
@@ -152,6 +154,11 @@ public class TesterMessageCountClient {
         public BasicText(CountDownLatch latch, String expected) {
             super(latch);
             this.expected = expected;
+            if (expected == null) {
+                messageCount = null;
+            } else {
+                messageCount = new AtomicInteger(0);
+            }
         }
 
         @Override
@@ -162,11 +169,20 @@ public class TesterMessageCountClient {
                 if (!expected.equals(message)) {
                     throw new IllegalStateException("Expected: [" + expected + 
"]\r\n" + "Was:      [" + message + "]");
                 }
+                messageCount.incrementAndGet();
             }
             if (getLatch() != null) {
                 getLatch().countDown();
             }
         }
+
+        public int getMessageCount() {
+            if (expected == null) {
+                return getMessages().size();
+            } else {
+                return messageCount.get();
+            }
+        }
     }
 
     public static class SleepingText implements MessageHandler.Whole<String> {


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

Reply via email to