From 2aa5584308a887306a48ccf7ae673cb712b3b117 Mon Sep 17 00:00:00 2001 From: sullis Date: Mon, 24 Mar 2025 00:09:13 -0700 Subject: [PATCH] enable Netty leak detector Signed-off-by: sullis --- rsocket-transport-netty/build.gradle | 1 + .../src/test/java/io/rsocket/integration/FragmentTest.java | 3 +++ .../src/test/java/io/rsocket/integration/KeepaliveTest.java | 3 +++ .../transport/netty/WebSocketTransportIntegrationTest.java | 3 +++ .../transport/netty/WebsocketPingPongIntegrationTest.java | 3 +++ 5 files changed, 13 insertions(+) diff --git a/rsocket-transport-netty/build.gradle b/rsocket-transport-netty/build.gradle index 39a5ceac5..81e9042e5 100644 --- a/rsocket-transport-netty/build.gradle +++ b/rsocket-transport-netty/build.gradle @@ -39,6 +39,7 @@ dependencies { testImplementation 'org.mockito:mockito-junit-jupiter' testImplementation 'org.junit.jupiter:junit-jupiter-api' testImplementation 'org.junit.jupiter:junit-jupiter-params' + testImplementation 'io.github.nettyplus:netty-leak-detector-junit-extension:0.0.6' testRuntimeOnly 'org.bouncycastle:bcpkix-jdk15on' testRuntimeOnly 'ch.qos.logback:logback-classic' diff --git a/rsocket-transport-netty/src/test/java/io/rsocket/integration/FragmentTest.java b/rsocket-transport-netty/src/test/java/io/rsocket/integration/FragmentTest.java index 23041ec65..03a4e8624 100644 --- a/rsocket-transport-netty/src/test/java/io/rsocket/integration/FragmentTest.java +++ b/rsocket-transport-netty/src/test/java/io/rsocket/integration/FragmentTest.java @@ -18,6 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat; +import io.github.nettyplus.leakdetector.junit.NettyLeakDetectorExtension; import io.rsocket.Payload; import io.rsocket.RSocket; import io.rsocket.core.RSocketConnector; @@ -30,12 +31,14 @@ import java.util.concurrent.ThreadLocalRandom; import java.util.stream.Stream; import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +@ExtendWith(NettyLeakDetectorExtension.class) public class FragmentTest { private RSocket handler; private CloseableChannel server; diff --git a/rsocket-transport-netty/src/test/java/io/rsocket/integration/KeepaliveTest.java b/rsocket-transport-netty/src/test/java/io/rsocket/integration/KeepaliveTest.java index f05713215..8d9ce3e94 100644 --- a/rsocket-transport-netty/src/test/java/io/rsocket/integration/KeepaliveTest.java +++ b/rsocket-transport-netty/src/test/java/io/rsocket/integration/KeepaliveTest.java @@ -1,5 +1,6 @@ package io.rsocket.integration; +import io.github.nettyplus.leakdetector.junit.NettyLeakDetectorExtension; import io.rsocket.Payload; import io.rsocket.RSocket; import io.rsocket.core.RSocketClient; @@ -16,6 +17,7 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import reactor.core.publisher.Flux; @@ -30,6 +32,7 @@ * Test case that reproduces the following GitHub Issue */ +@ExtendWith(NettyLeakDetectorExtension.class) public class KeepaliveTest { private static final Logger LOG = LoggerFactory.getLogger(KeepaliveTest.class); diff --git a/rsocket-transport-netty/src/test/java/io/rsocket/transport/netty/WebSocketTransportIntegrationTest.java b/rsocket-transport-netty/src/test/java/io/rsocket/transport/netty/WebSocketTransportIntegrationTest.java index c418dea0f..4bcfdb575 100644 --- a/rsocket-transport-netty/src/test/java/io/rsocket/transport/netty/WebSocketTransportIntegrationTest.java +++ b/rsocket-transport-netty/src/test/java/io/rsocket/transport/netty/WebSocketTransportIntegrationTest.java @@ -1,5 +1,6 @@ package io.rsocket.transport.netty; +import io.github.nettyplus.leakdetector.junit.NettyLeakDetectorExtension; import io.rsocket.RSocket; import io.rsocket.SocketAcceptor; import io.rsocket.core.RSocketConnector; @@ -12,11 +13,13 @@ import java.net.URI; import java.time.Duration; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import reactor.core.publisher.Flux; import reactor.netty.DisposableServer; import reactor.netty.http.server.HttpServer; import reactor.test.StepVerifier; +@ExtendWith(NettyLeakDetectorExtension.class) public class WebSocketTransportIntegrationTest { @Test diff --git a/rsocket-transport-netty/src/test/java/io/rsocket/transport/netty/WebsocketPingPongIntegrationTest.java b/rsocket-transport-netty/src/test/java/io/rsocket/transport/netty/WebsocketPingPongIntegrationTest.java index ff0fa75b4..0bfd599e7 100644 --- a/rsocket-transport-netty/src/test/java/io/rsocket/transport/netty/WebsocketPingPongIntegrationTest.java +++ b/rsocket-transport-netty/src/test/java/io/rsocket/transport/netty/WebsocketPingPongIntegrationTest.java @@ -15,6 +15,7 @@ */ package io.rsocket.transport.netty; +import io.github.nettyplus.leakdetector.junit.NettyLeakDetectorExtension; import io.netty.buffer.Unpooled; import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; @@ -37,6 +38,7 @@ import java.time.Duration; import java.util.stream.Stream; import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -47,6 +49,7 @@ import reactor.netty.http.server.HttpServer; import reactor.test.StepVerifier; +@ExtendWith(NettyLeakDetectorExtension.class) public class WebsocketPingPongIntegrationTest { private static final String host = "localhost"; private static final int port = 8088;