This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/10.1.x by this push:
new f57ddd6ef6 Refactor test to use less memory
f57ddd6ef6 is described below
commit f57ddd6ef616d3f99f184e4b024f5f554eebc569
Author: Mark Thomas <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]