From 840b48b8a2f46b1601d6afb61b2e56a6b12998a0 Mon Sep 17 00:00:00 2001 From: morningman Date: Thu, 23 Nov 2023 14:34:21 +0800 Subject: [PATCH] [test](fe-ut) fix unstable MysqlServerTest --- .../org/apache/doris/mysql/MysqlServerTest.java | 15 ++++----------- .../apache/doris/utframe/TestWithFeService.java | 2 +- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/fe/fe-core/src/test/java/org/apache/doris/mysql/MysqlServerTest.java b/fe/fe-core/src/test/java/org/apache/doris/mysql/MysqlServerTest.java index ed62bc65040758..9bf805b277335b 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/mysql/MysqlServerTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/mysql/MysqlServerTest.java @@ -19,6 +19,7 @@ import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ConnectScheduler; +import org.apache.doris.utframe.TestWithFeService; import mockit.Delegate; import mockit.Expectations; @@ -31,7 +32,6 @@ import java.io.IOException; import java.net.InetSocketAddress; -import java.net.ServerSocket; import java.nio.channels.SocketChannel; public class MysqlServerTest { @@ -79,10 +79,7 @@ public Boolean answer() throws Throwable { @Test public void testNormal() throws IOException, InterruptedException { - ServerSocket socket = new ServerSocket(0); - int port = socket.getLocalPort(); - socket.close(); - + int port = TestWithFeService.findValidPort(); MysqlServer server = new MysqlServer(port, scheduler); Assert.assertTrue(server.start()); @@ -108,9 +105,7 @@ public void testNormal() throws IOException, InterruptedException { @Test public void testBindFail() throws IOException { - ServerSocket socket = new ServerSocket(0); - int port = socket.getLocalPort(); - socket.close(); + int port = TestWithFeService.findValidPort(); MysqlServer server = new MysqlServer(port, scheduler); Assert.assertTrue(server.start()); MysqlServer server1 = new MysqlServer(port, scheduler); @@ -121,9 +116,7 @@ public void testBindFail() throws IOException { @Test public void testSubFail() throws IOException, InterruptedException { - ServerSocket socket = new ServerSocket(0); - int port = socket.getLocalPort(); - socket.close(); + int port = TestWithFeService.findValidPort(); MysqlServer server = new MysqlServer(port, badScheduler); Assert.assertTrue(server.start()); diff --git a/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java b/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java index b032ddd2a50177..c27bdbac4c3fe9 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java +++ b/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java @@ -495,7 +495,7 @@ protected void cleanDorisFeDir() { } } - protected int findValidPort() { + public static int findValidPort() { int port = 0; while (true) { try (ServerSocket socket = new ServerSocket(0)) {