Skip to content

Commit 02431e6

Browse files
committed
Stabilize test by keeping reference to NetClient
Closes #5853 (cherry picked from commit 8c3bc97)
1 parent bc34930 commit 02431e6

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/test/java/io/vertx/core/http/HttpTest.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
package io.vertx.core.http;
1313

14+
import io.netty.buffer.ByteBufUtil;
1415
import io.netty.channel.ConnectTimeoutException;
1516
import io.netty.handler.codec.compression.DecompressionException;
1617
import io.netty.handler.codec.http.HttpHeaderNames;
@@ -5179,14 +5180,17 @@ protected void testHttpConnect(RequestOptions options, int sc) {
51795180
Buffer buffer = TestUtils.randomBuffer(128);
51805181
Buffer received = Buffer.buffer();
51815182
CompletableFuture<Void> closeSocket = new CompletableFuture<>();
5182-
vertx.createNetServer(new NetServerOptions().setPort(1235).setHost("localhost")).connectHandler(socket -> {
5183+
// Declare netClient in the main thread to avoid having it randomly garbage collected just after it created the connection
5184+
NetClient netClient = vertx.createNetClient(new NetClientOptions());
5185+
5186+
vertx.createNetServer(new NetServerOptions().setPort(0).setHost("localhost")).connectHandler(socket -> {
51835187
socket.handler(socket::write);
51845188
closeSocket.thenAccept(v -> {
51855189
socket.close();
51865190
});
51875191
}).listen(onSuccess(netServer -> {
51885192
server.requestHandler(req -> {
5189-
vertx.createNetClient(new NetClientOptions()).connect(1235, "localhost", onSuccess(dst -> {
5193+
netClient.connect(netServer.actualPort(), "localhost", onSuccess(dst -> {
51905194

51915195
req.response().setStatusCode(sc);
51925196
req.response().setStatusMessage("Connection established");
@@ -5217,7 +5221,7 @@ protected void testHttpConnect(RequestOptions options, int sc) {
52175221
}
52185222
});
52195223
socket.closeHandler(v -> {
5220-
assertEquals(buffer, received);
5224+
assertEquals(ByteBufUtil.hexDump(buffer.getBytes()), ByteBufUtil.hexDump(received.getBytes()));
52215225
testComplete();
52225226
});
52235227
socket.write(buffer);

0 commit comments

Comments
 (0)