diff --git a/packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/testing/MockCliServer.kt b/packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/testing/MockCliServer.kt index 8754e7d110c..b8be1290adf 100644 --- a/packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/testing/MockCliServer.kt +++ b/packages/kilo-jetbrains/backend/src/test/kotlin/ai/kilocode/backend/testing/MockCliServer.kt @@ -184,7 +184,9 @@ class MockCliServer : AutoCloseable { val srv = ServerSocket(0) server = srv port = srv.localPort - executor.submit { acceptLoop(srv) } + val ready = CountDownLatch(1) + executor.submit { acceptLoop(srv, ready) } + check(ready.await(5, TimeUnit.SECONDS)) { "Mock CLI accept loop did not start" } return port } @@ -235,7 +237,8 @@ class MockCliServer : AutoCloseable { server = null } - private fun acceptLoop(srv: ServerSocket) { + private fun acceptLoop(srv: ServerSocket, ready: CountDownLatch) { + ready.countDown() while (!closed.get() && !srv.isClosed) { try { val socket = srv.accept()