diff options
author | Joakim Erdfelt | 2015-03-06 22:57:52 +0000 |
---|---|---|
committer | Joakim Erdfelt | 2015-03-06 22:57:52 +0000 |
commit | 130afb95358618bd4027f206f4915ea4d6d9bfff (patch) | |
tree | 2f1b1df1ffd511a455c948d767303ef6cb70addd /jetty-websocket | |
parent | 9b5205ba40e3b605dfff96b5c9e831a419d038d2 (diff) | |
parent | dd88d393e4aaf6b234c1dc00326941e7d34b6f92 (diff) | |
download | org.eclipse.jetty.project-130afb95358618bd4027f206f4915ea4d6d9bfff.tar.gz org.eclipse.jetty.project-130afb95358618bd4027f206f4915ea4d6d9bfff.tar.xz org.eclipse.jetty.project-130afb95358618bd4027f206f4915ea4d6d9bfff.zip |
Merge branch 'jetty-9.2.x'
Conflicts:
jetty-client/src/main/java/org/eclipse/jetty/client/LeakTrackingConnectionPool.java
jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientLoadTest.java
jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientUploadDuringServerShutdown.java
jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java
jetty-spdy/spdy-server/src/test/java/org/eclipse/jetty/spdy/server/SynDataReplyDataLoadTest.java
jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/TooFastClientTest.java
Diffstat (limited to 'jetty-websocket')
32 files changed, 92 insertions, 116 deletions
diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/AnnotatedServerEndpointTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/AnnotatedServerEndpointTest.java index ac3eb19744..2c510e5d8c 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/AnnotatedServerEndpointTest.java +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/AnnotatedServerEndpointTest.java @@ -26,13 +26,12 @@ import java.util.Queue; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.ClientUpgradeRequest; import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.jsr356.server.samples.beans.DateDecoder; import org.eclipse.jetty.websocket.jsr356.server.samples.beans.TimeEncoder; import org.eclipse.jetty.websocket.jsr356.server.samples.echo.ConfiguredEchoSocket; @@ -49,7 +48,7 @@ import org.junit.Test; public class AnnotatedServerEndpointTest { @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private static WSServer server; diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/BasicEndpointTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/BasicEndpointTest.java index 7bf641c43e..05f7284fb1 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/BasicEndpointTest.java +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/BasicEndpointTest.java @@ -23,12 +23,11 @@ import java.util.Queue; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.TestingDir; import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.jsr356.server.samples.echo.BasicEchoEndpoint; import org.eclipse.jetty.websocket.jsr356.server.samples.echo.BasicEchoEndpointConfigContextListener; import org.junit.Assert; @@ -45,7 +44,7 @@ public class BasicEndpointTest public TestingDir testdir = new TestingDir(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); @Test public void testEcho() throws Exception diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java index b0c5607600..101ddfbdee 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/IdleTimeoutTest.java @@ -26,7 +26,6 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.toolchain.test.TestingDir; import org.eclipse.jetty.util.log.Log; @@ -34,7 +33,7 @@ import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.jsr356.server.samples.idletimeout.IdleTimeoutContextListener; import org.eclipse.jetty.websocket.jsr356.server.samples.idletimeout.OnOpenIdleTimeoutEndpoint; import org.eclipse.jetty.websocket.jsr356.server.samples.idletimeout.OnOpenIdleTimeoutSocket; @@ -55,7 +54,7 @@ public class IdleTimeoutTest public TestingDir testdir = new TestingDir(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private static WSServer server; diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeAnnotatedTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeAnnotatedTest.java index 2b3df90133..8208c00365 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeAnnotatedTest.java +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeAnnotatedTest.java @@ -25,12 +25,11 @@ import java.util.Queue; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.TestingDir; import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.jsr356.server.samples.echo.LargeEchoConfiguredSocket; import org.junit.Assert; import org.junit.Rule; @@ -45,7 +44,7 @@ public class LargeAnnotatedTest public TestingDir testdir = new TestingDir(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); @Test public void testEcho() throws Exception diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeContainerTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeContainerTest.java index 9a5fd74809..97d2888239 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeContainerTest.java +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/LargeContainerTest.java @@ -25,12 +25,11 @@ import java.util.Queue; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.TestingDir; import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.jsr356.server.samples.echo.LargeEchoDefaultSocket; import org.junit.Assert; import org.junit.Rule; @@ -45,7 +44,7 @@ public class LargeContainerTest public TestingDir testdir = new TestingDir(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); @Test public void testEcho() throws Exception diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnMessageReturnTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnMessageReturnTest.java index 158cd699f4..d63bb84a4b 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnMessageReturnTest.java +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/OnMessageReturnTest.java @@ -23,12 +23,11 @@ import java.util.Queue; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.TestingDir; import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.jsr356.server.samples.echo.EchoReturnEndpoint; import org.junit.Assert; import org.junit.Rule; @@ -40,7 +39,7 @@ public class OnMessageReturnTest public TestingDir testdir = new TestingDir(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); @Test public void testEchoReturn() throws Exception diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTest.java index 98828fc803..06a4600aa5 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTest.java +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/SessionTest.java @@ -29,13 +29,12 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.servlet.DefaultServlet; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -100,7 +99,7 @@ public class SessionTest } @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private final Case testcase; private final static AtomicInteger ID = new AtomicInteger(0); diff --git a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/StreamTest.java b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/StreamTest.java index fb18359aa9..ff965616c2 100644 --- a/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/StreamTest.java +++ b/jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/StreamTest.java @@ -32,6 +32,7 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; + import javax.websocket.ClientEndpoint; import javax.websocket.CloseReason; import javax.websocket.CloseReason.CloseCode; @@ -50,7 +51,6 @@ import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; import javax.websocket.server.ServerEndpointConfig; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.servlet.ServletContextHandler; @@ -59,7 +59,7 @@ import org.eclipse.jetty.toolchain.test.IO; import org.eclipse.jetty.toolchain.test.MavenTestingUtils; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.common.util.Hex; import org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer; import org.junit.AfterClass; @@ -76,7 +76,7 @@ public class StreamTest private static final Logger LOG = Log.getLogger(StreamTest.class); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private static File outputDir; private static Server server; diff --git a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java index 3339eec67a..67e00c0fab 100644 --- a/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java +++ b/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/ClientUpgradeRequest.java @@ -167,7 +167,17 @@ public class ClientUpgradeRequest extends UpgradeRequest { request.append("; "); } - request.append(cookie.toString()); + + request.append(cookie.getName()).append("="); + if (cookie.getVersion() == 1) + { + // must be enclosed with quotes + request.append('"').append(cookie.getValue()).append('"'); + } + else + { + request.append(cookie.getValue()); + } needDelim = true; } request.append("\r\n"); diff --git a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/BadNetworkTest.java b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/BadNetworkTest.java index e02f423568..4aa4c63067 100644 --- a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/BadNetworkTest.java +++ b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/BadNetworkTest.java @@ -22,13 +22,12 @@ import java.net.URI; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.TestTracker; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.StatusCode; import org.eclipse.jetty.websocket.common.test.BlockheadServer; import org.eclipse.jetty.websocket.common.test.BlockheadServer.ServerConnection; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -43,7 +42,7 @@ public class BadNetworkTest public TestTracker tt = new TestTracker(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private BlockheadServer server; private WebSocketClient client; diff --git a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientConnectTest.java b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientConnectTest.java index c9f8c53278..3801c03457 100644 --- a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientConnectTest.java +++ b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientConnectTest.java @@ -30,7 +30,6 @@ import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.OS; import org.eclipse.jetty.toolchain.test.TestTracker; import org.eclipse.jetty.websocket.api.Session; @@ -38,7 +37,7 @@ import org.eclipse.jetty.websocket.api.UpgradeException; import org.eclipse.jetty.websocket.common.AcceptHash; import org.eclipse.jetty.websocket.common.test.BlockheadServer; import org.eclipse.jetty.websocket.common.test.BlockheadServer.ServerConnection; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -54,7 +53,7 @@ public class ClientConnectTest public TestTracker tt = new TestTracker(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private final int timeout = 500; private BlockheadServer server; diff --git a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/CookieTest.java b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/CookieTest.java index 9dfc87d3ae..a68c245057 100644 --- a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/CookieTest.java +++ b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/CookieTest.java @@ -19,6 +19,7 @@ package org.eclipse.jetty.websocket.client; import static org.hamcrest.Matchers.*; +import static org.junit.Assert.*; import java.net.CookieManager; import java.net.HttpCookie; @@ -104,6 +105,12 @@ public class CookieTest client.setCookieStore(cookieMgr.getCookieStore()); HttpCookie cookie = new HttpCookie("hello","world"); cookie.setPath("/"); + cookie.setVersion(0); + cookie.setMaxAge(100000); + cookieMgr.getCookieStore().add(server.getWsUri(),cookie); + + cookie = new HttpCookie("foo","bar is the word"); + cookie.setPath("/"); cookie.setMaxAge(100000); cookieMgr.getCookieStore().add(server.getWsUri(),cookie); @@ -117,7 +124,8 @@ public class CookieTest // client confirms upgrade and receipt of frame String serverCookies = confirmClientUpgradeAndCookies(clientSocket,clientConnectFuture,serverConn); - Assert.assertThat("Cookies seen at server side",serverCookies,containsString("hello=\"world\"")); + assertThat("Cookies seen at server side",serverCookies,containsString("hello=world")); + assertThat("Cookies seen at server side",serverCookies,containsString("foo=\"bar is the word\"")); } @Test diff --git a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/examples/TestClient.java b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/examples/TestClient.java index 56fa6e84bb..e65290d6ff 100644 --- a/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/examples/TestClient.java +++ b/jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/examples/TestClient.java @@ -29,13 +29,12 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.WebSocketAdapter; import org.eclipse.jetty.websocket.client.ClientUpgradeRequest; import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.common.OpCode; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; /** * This is not a general purpose websocket client. It's only for testing the websocket server and is hardwired to a specific draft version of the protocol. @@ -97,7 +96,7 @@ public class TestClient private static final Random __random = new Random(); - private static LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("TestClient",new MappedByteBufferPool()); + private static LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("TestClient"); private final String _host; private final int _port; diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageOutputStream.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageOutputStream.java index db1ccb0a47..6a9fef094d 100644 --- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageOutputStream.java +++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/message/MessageOutputStream.java @@ -140,8 +140,6 @@ public class MessageOutputStream extends OutputStream closed = fin; BufferUtil.flipToFlush(buffer, 0); - if (LOG.isDebugEnabled()) - LOG.debug("flush({}): {}", fin, BufferUtil.toDetailString(buffer)); frame.setPayload(buffer); frame.setFin(fin); diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorParserRoundtripTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorParserRoundtripTest.java index bf11b149b3..e9ff59e8c7 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorParserRoundtripTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/GeneratorParserRoundtripTest.java @@ -23,12 +23,11 @@ import static org.hamcrest.Matchers.*; import java.nio.ByteBuffer; import java.util.Arrays; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.websocket.api.WebSocketPolicy; import org.eclipse.jetty.websocket.common.frames.TextFrame; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; import org.eclipse.jetty.websocket.common.test.IncomingFramesCapture; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; @@ -36,7 +35,7 @@ import org.junit.Test; public class GeneratorParserRoundtripTest { @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("GeneratorParserRoundtrip"); @Test public void testParserAndGenerator() throws Exception diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketFrameTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketFrameTest.java index e1728ae777..0240021dd8 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketFrameTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketFrameTest.java @@ -18,9 +18,10 @@ package org.eclipse.jetty.websocket.common; +import static org.hamcrest.Matchers.*; + import java.nio.ByteBuffer; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.websocket.api.StatusCode; import org.eclipse.jetty.websocket.api.WebSocketPolicy; @@ -28,19 +29,17 @@ import org.eclipse.jetty.websocket.api.extensions.Frame; import org.eclipse.jetty.websocket.common.frames.CloseFrame; import org.eclipse.jetty.websocket.common.frames.PingFrame; import org.eclipse.jetty.websocket.common.frames.TextFrame; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.common.util.Hex; import org.junit.Assert; import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import static org.hamcrest.Matchers.is; - public class WebSocketFrameTest { @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("WebSocketFrameTest"); private Generator strictGenerator; private Generator laxGenerator; diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java index 9acbea482c..258c2b2b85 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java @@ -18,27 +18,26 @@ package org.eclipse.jetty.websocket.common; +import static org.hamcrest.Matchers.*; + import java.io.IOException; import java.nio.ByteBuffer; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.websocket.common.io.LocalWebSocketConnection; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.common.test.OutgoingFramesCapture; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; -import static org.hamcrest.Matchers.containsString; - public class WebSocketRemoteEndpointTest { @Rule public TestName testname = new TestName(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("WebSocketRemoteEndpoint"); @Test public void testTextBinaryText() throws IOException diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java index 15ce898ef8..e027614469 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/events/EventDriverTest.java @@ -21,7 +21,6 @@ package org.eclipse.jetty.websocket.common.events; import java.io.IOException; import java.util.concurrent.TimeoutException; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.websocket.api.StatusCode; import org.eclipse.jetty.websocket.api.WebSocketException; import org.eclipse.jetty.websocket.api.WebSocketPolicy; @@ -31,7 +30,7 @@ import org.eclipse.jetty.websocket.common.frames.BinaryFrame; import org.eclipse.jetty.websocket.common.frames.PingFrame; import org.eclipse.jetty.websocket.common.frames.TextFrame; import org.eclipse.jetty.websocket.common.io.LocalWebSocketSession; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; @@ -49,7 +48,7 @@ public class EventDriverTest public TestName testname = new TestName(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private Frame makeBinaryFrame(String content, boolean fin) { diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/AbstractExtensionTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/AbstractExtensionTest.java index 017be5347f..9155a3aac1 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/AbstractExtensionTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/AbstractExtensionTest.java @@ -18,9 +18,8 @@ package org.eclipse.jetty.websocket.common.extensions; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.websocket.api.WebSocketPolicy; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.Before; import org.junit.Rule; import org.junit.rules.TestName; @@ -31,7 +30,7 @@ public abstract class AbstractExtensionTest public TestName testname = new TestName(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); protected ExtensionTool clientExtensions; protected ExtensionTool serverExtensions; diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStackTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStackTest.java index 3651f776f7..18bdb4debb 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStackTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/ExtensionStackTest.java @@ -23,7 +23,6 @@ import static org.hamcrest.Matchers.*; import java.util.ArrayList; import java.util.List; -import org.eclipse.jetty.io.ArrayByteBufferPool; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; import org.eclipse.jetty.websocket.api.WebSocketPolicy; @@ -31,7 +30,7 @@ import org.eclipse.jetty.websocket.api.extensions.Extension; import org.eclipse.jetty.websocket.api.extensions.ExtensionConfig; import org.eclipse.jetty.websocket.api.extensions.ExtensionFactory; import org.eclipse.jetty.websocket.common.extensions.identity.IdentityExtension; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; @@ -41,7 +40,7 @@ public class ExtensionStackTest private static final Logger LOG = Log.getLogger(ExtensionStackTest.class); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new ArrayByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); @SuppressWarnings("unchecked") private <T> T assertIsExtension(String msg, Object obj, Class<T> clazz) diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/FragmentExtensionTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/FragmentExtensionTest.java index e100cf9f0b..4274cb371b 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/FragmentExtensionTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/FragmentExtensionTest.java @@ -25,7 +25,6 @@ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.websocket.api.BatchMode; import org.eclipse.jetty.websocket.api.WebSocketPolicy; @@ -39,7 +38,7 @@ import org.eclipse.jetty.websocket.common.frames.PingFrame; import org.eclipse.jetty.websocket.common.frames.TextFrame; import org.eclipse.jetty.websocket.common.test.ByteBufferAssert; import org.eclipse.jetty.websocket.common.test.IncomingFramesCapture; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.common.test.OutgoingFramesCapture; import org.junit.Assert; import org.junit.Rule; @@ -50,7 +49,7 @@ import static org.hamcrest.Matchers.is; public class FragmentExtensionTest { @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test", new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); /** * Verify that incoming frames are passed thru without modification diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java index eb80251dec..7de53b5339 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/DeflateFrameExtensionTest.java @@ -28,7 +28,6 @@ import java.util.Random; import java.util.zip.Deflater; import java.util.zip.Inflater; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.io.RuntimeIOException; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.StringUtil; @@ -50,7 +49,7 @@ import org.eclipse.jetty.websocket.common.frames.BinaryFrame; import org.eclipse.jetty.websocket.common.frames.TextFrame; import org.eclipse.jetty.websocket.common.test.ByteBufferAssert; import org.eclipse.jetty.websocket.common.test.IncomingFramesCapture; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.common.test.OutgoingNetworkBytesCapture; import org.eclipse.jetty.websocket.common.test.UnitParser; import org.junit.Assert; @@ -64,7 +63,7 @@ import static org.hamcrest.Matchers.is; public class DeflateFrameExtensionTest extends AbstractExtensionTest { @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test", new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private void assertIncoming(byte[] raw, String... expectedTextDatas) { diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java index d233fa6244..b39d4c89e4 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/extensions/compress/PerMessageDeflateExtensionTest.java @@ -24,7 +24,6 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.websocket.api.BatchMode; import org.eclipse.jetty.websocket.api.WebSocketPolicy; @@ -39,7 +38,7 @@ import org.eclipse.jetty.websocket.common.frames.PingFrame; import org.eclipse.jetty.websocket.common.frames.TextFrame; import org.eclipse.jetty.websocket.common.test.ByteBufferAssert; import org.eclipse.jetty.websocket.common.test.IncomingFramesCapture; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.common.test.OutgoingFramesCapture; import org.junit.Assert; import org.junit.Rule; @@ -55,7 +54,7 @@ import static org.hamcrest.Matchers.is; public class PerMessageDeflateExtensionTest extends AbstractExtensionTest { @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test", new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); /** * Decode payload example as seen in draft-ietf-hybi-permessage-compression-15. diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageInputStreamTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageInputStreamTest.java index 5804f5a87e..54de967cdc 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageInputStreamTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageInputStreamTest.java @@ -27,9 +27,8 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.util.BufferUtil; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; @@ -41,7 +40,7 @@ public class MessageInputStreamTest public TestName testname = new TestName(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); @Test(timeout=10000) public void testBasicAppendRead() throws IOException diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageOutputStreamTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageOutputStreamTest.java index 796046d2ab..868a20d9f4 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageOutputStreamTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageOutputStreamTest.java @@ -24,7 +24,6 @@ import static org.hamcrest.Matchers.is; import java.util.Arrays; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.TestTracker; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; @@ -34,7 +33,7 @@ import org.eclipse.jetty.websocket.common.events.EventDriver; import org.eclipse.jetty.websocket.common.events.EventDriverFactory; import org.eclipse.jetty.websocket.common.io.FramePipes; import org.eclipse.jetty.websocket.common.io.LocalWebSocketSession; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -53,7 +52,7 @@ public class MessageOutputStreamTest public TestName testname = new TestName(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private WebSocketPolicy policy; private TrackingSocket socket; @@ -124,7 +123,7 @@ public class MessageOutputStreamTest { int bufsize = (int)(policy.getMaxBinaryMessageBufferSize() * 2.5); byte buf[] = new byte[bufsize]; - LOG.debug("Buffer size: {}",bufsize); + LOG.debug("Buffer sizes: max:{}, test:{}",policy.getMaxBinaryMessageBufferSize(),bufsize); Arrays.fill(buf,(byte)'x'); buf[bufsize - 1] = (byte)'o'; // mark last entry for debugging diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java index df1fcad22c..7b0dac0a47 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/message/MessageWriterTest.java @@ -20,7 +20,6 @@ package org.eclipse.jetty.websocket.common.message; import java.util.Arrays; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.TestTracker; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; @@ -30,7 +29,7 @@ import org.eclipse.jetty.websocket.common.events.EventDriver; import org.eclipse.jetty.websocket.common.events.EventDriverFactory; import org.eclipse.jetty.websocket.common.io.FramePipes; import org.eclipse.jetty.websocket.common.io.LocalWebSocketSession; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -51,7 +50,7 @@ public class MessageWriterTest public TestName testname = new TestName(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private WebSocketPolicy policy; private TrackingSocket socket; diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/LeakTrackingBufferPool.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/LeakTrackingBufferPoolRule.java index 8a5fc6ca65..a6c7a5c377 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/LeakTrackingBufferPool.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/LeakTrackingBufferPoolRule.java @@ -19,48 +19,29 @@ package org.eclipse.jetty.websocket.common.test; import static org.hamcrest.Matchers.*; +import static org.junit.Assert.*; -import java.nio.ByteBuffer; -import java.util.concurrent.atomic.AtomicInteger; - -import org.eclipse.jetty.io.ByteBufferPool; import org.eclipse.jetty.io.LeakTrackingByteBufferPool; -import org.eclipse.jetty.util.LeakDetector; -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; -import org.junit.Assert; +import org.eclipse.jetty.io.MappedByteBufferPool; import org.junit.rules.TestRule; import org.junit.runner.Description; import org.junit.runners.model.Statement; -public class LeakTrackingBufferPool extends LeakTrackingByteBufferPool implements TestRule +public class LeakTrackingBufferPoolRule extends LeakTrackingByteBufferPool implements TestRule { - private static final Logger LOG = Log.getLogger(LeakTrackingBufferPool.class); private final String id; - private AtomicInteger leakCount = new AtomicInteger(0); - public LeakTrackingBufferPool(String id, ByteBufferPool delegate) + public LeakTrackingBufferPoolRule(String id) { - super(delegate); + super(new MappedByteBufferPool.Tagged()); this.id = id; } - @Override - protected void leaked(LeakDetector<ByteBuffer>.LeakInfo leakInfo) - { - String msg = String.format("%s ByteBuffer %s leaked at:",id,leakInfo.getResourceDescription()); - LOG.warn(msg,leakInfo.getStackFrames()); - leakCount.incrementAndGet(); - } - public void assertNoLeaks() { - Assert.assertThat("Leak Count for [" + id + "]",leakCount.get(),is(0)); - } - - public void clearTracking() - { - leakCount.set(0); + assertThat("Leaked Acquires Count for [" + id + "]",getLeakedAcquires(),is(0L)); + assertThat("Leaked Releases Count for [" + id + "]",getLeakedReleases(),is(0L)); + assertThat("Leaked Unrelesed Count for [" + id + "]",getLeakedUnreleased(),is(0L)); } @Override diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitGenerator.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitGenerator.java index 2b52546207..df9f8414c9 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitGenerator.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitGenerator.java @@ -22,6 +22,7 @@ import java.nio.ByteBuffer; import java.util.List; import org.eclipse.jetty.io.ByteBufferPool; +import org.eclipse.jetty.io.LeakTrackingByteBufferPool; import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.log.Log; @@ -123,7 +124,7 @@ public class UnitGenerator extends Generator public UnitGenerator() { - super(WebSocketPolicy.newServerPolicy(),new LeakTrackingBufferPool("UnitGenerator",new MappedByteBufferPool())); + super(WebSocketPolicy.newServerPolicy(),new LeakTrackingByteBufferPool(new MappedByteBufferPool.Tagged())); } public UnitGenerator(ByteBufferPool bufferPool) diff --git a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitParser.java b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitParser.java index 9379748e5d..b93776cac3 100644 --- a/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitParser.java +++ b/jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/test/UnitParser.java @@ -20,6 +20,7 @@ package org.eclipse.jetty.websocket.common.test; import java.nio.ByteBuffer; +import org.eclipse.jetty.io.LeakTrackingByteBufferPool; import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.util.log.StacklessLogging; import org.eclipse.jetty.websocket.api.WebSocketPolicy; @@ -34,7 +35,7 @@ public class UnitParser extends Parser public UnitParser(WebSocketPolicy policy) { - super(policy,new LeakTrackingBufferPool("UnitParser",new MappedByteBufferPool())); + super(policy,new LeakTrackingByteBufferPool(new MappedByteBufferPool.Tagged())); } private void parsePartial(ByteBuffer buf, int numBytes) diff --git a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/TooFastClientTest.java b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/TooFastClientTest.java index 1c7666a612..b1e0f073ec 100644 --- a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/TooFastClientTest.java +++ b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/TooFastClientTest.java @@ -25,6 +25,7 @@ import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.concurrent.TimeUnit; +import org.eclipse.jetty.io.LeakTrackingByteBufferPool; import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.EventQueue; import org.eclipse.jetty.util.BufferUtil; @@ -33,7 +34,7 @@ import org.eclipse.jetty.websocket.common.Generator; import org.eclipse.jetty.websocket.common.WebSocketFrame; import org.eclipse.jetty.websocket.common.frames.TextFrame; import org.eclipse.jetty.websocket.common.test.BlockheadClient; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.server.examples.MyEchoServlet; import org.junit.AfterClass; import org.junit.Assert; @@ -82,7 +83,7 @@ public class TooFastClientTest // Add text frames Generator generator = new Generator(WebSocketPolicy.newClientPolicy(), - new LeakTrackingBufferPool("Generator",new MappedByteBufferPool())); + new LeakTrackingBufferPoolRule("Generator")); String msg1 = "Echo 1"; String msg2 = "This is also an echooooo!"; @@ -143,7 +144,7 @@ public class TooFastClientTest // Add text frames Generator generator = new Generator(WebSocketPolicy.newClientPolicy(), - new LeakTrackingBufferPool("Generator",new MappedByteBufferPool())); + new LeakTrackingByteBufferPool(new MappedByteBufferPool.Tagged())); byte bigMsgBytes[] = new byte[64*1024]; Arrays.fill(bigMsgBytes,(byte)'x'); diff --git a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketOverSSLTest.java b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketOverSSLTest.java index 250c410a3d..b76212532d 100644 --- a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketOverSSLTest.java +++ b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketOverSSLTest.java @@ -22,14 +22,13 @@ import java.net.URI; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.toolchain.test.EventQueue; import org.eclipse.jetty.toolchain.test.TestTracker; import org.eclipse.jetty.websocket.api.BatchMode; import org.eclipse.jetty.websocket.api.RemoteEndpoint; import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.server.helper.CaptureSocket; import org.eclipse.jetty.websocket.server.helper.SessionServlet; import org.junit.AfterClass; @@ -46,7 +45,7 @@ public class WebSocketOverSSLTest public TestTracker tracker = new TestTracker(); @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); private static SimpleServletServer server; diff --git a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/AbstractABCase.java b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/AbstractABCase.java index 04be06a9ee..7d3f5b4690 100644 --- a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/AbstractABCase.java +++ b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/ab/AbstractABCase.java @@ -22,7 +22,6 @@ import java.net.URI; import java.nio.ByteBuffer; import java.util.Arrays; -import org.eclipse.jetty.io.MappedByteBufferPool; import org.eclipse.jetty.util.BufferUtil; import org.eclipse.jetty.util.StringUtil; import org.eclipse.jetty.util.log.StdErrLog; @@ -31,7 +30,7 @@ import org.eclipse.jetty.websocket.common.Generator; import org.eclipse.jetty.websocket.common.OpCode; import org.eclipse.jetty.websocket.common.WebSocketFrame; import org.eclipse.jetty.websocket.common.test.Fuzzed; -import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPool; +import org.eclipse.jetty.websocket.common.test.LeakTrackingBufferPoolRule; import org.eclipse.jetty.websocket.common.test.RawFrameBuilder; import org.eclipse.jetty.websocket.server.SimpleServletServer; import org.junit.AfterClass; @@ -80,7 +79,7 @@ public abstract class AbstractABCase implements Fuzzed protected static SimpleServletServer server; @Rule - public LeakTrackingBufferPool bufferPool = new LeakTrackingBufferPool("Test",new MappedByteBufferPool()); + public LeakTrackingBufferPoolRule bufferPool = new LeakTrackingBufferPoolRule("Test"); @Before public void initGenerators() |