From e45523b9adb024f64e1f398faedf4b5ee43783e7 Mon Sep 17 00:00:00 2001 From: Anastasia Katsman Date: Thu, 7 Nov 2024 13:35:42 +0100 Subject: [PATCH] [rdct-tests] improve `waitForCodeAnalysisToFinish` to better handle indexing GitOrigin-RevId: c45aee28cfaf7e6267fcf0d5c1ff40604bee605c --- .../commands/WaitForFinishedCodeAnalysis.kt | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/plugins/performanceTesting/core/src/com/jetbrains/performancePlugin/commands/WaitForFinishedCodeAnalysis.kt b/plugins/performanceTesting/core/src/com/jetbrains/performancePlugin/commands/WaitForFinishedCodeAnalysis.kt index 43441bd7c1de..2b17936d3fff 100644 --- a/plugins/performanceTesting/core/src/com/jetbrains/performancePlugin/commands/WaitForFinishedCodeAnalysis.kt +++ b/plugins/performanceTesting/core/src/com/jetbrains/performancePlugin/commands/WaitForFinishedCodeAnalysis.kt @@ -31,13 +31,9 @@ import com.intellij.util.concurrency.annotations.RequiresReadLock import com.intellij.util.ui.EDT import com.intellij.util.ui.UIUtil import kotlinx.coroutines.* -import java.util.Collections -import java.util.concurrent.CompletableFuture -import java.util.concurrent.CompletionException -import java.util.UUID -import java.util.concurrent.ConcurrentHashMap -import java.util.concurrent.TimeUnit -import java.util.concurrent.TimeoutException +import kotlinx.coroutines.CancellationException +import java.util.* +import java.util.concurrent.* import kotlin.time.Duration import kotlin.time.Duration.Companion.minutes import kotlin.time.Duration.Companion.nanoseconds @@ -124,7 +120,7 @@ class CodeAnalysisStateListener(val project: Project, val cs: CoroutineScope) { /** * @throws TimeoutException when stopped due to provided [timeout] */ - suspend fun waitAnalysisToFinish(timeout: Duration? = 5.minutes, throws: Boolean = false) { + suspend fun waitAnalysisToFinish(timeout: Duration? = 5.minutes, throws: Boolean = false, logsError: Boolean = true) { LOG.info("Waiting for code analysis to finish in $timeout") val future = CompletableFuture() if (timeout != null) { @@ -168,7 +164,9 @@ class CodeAnalysisStateListener(val project: Project, val cs: CoroutineScope) { val errorText = "Waiting for highlight to finish took more than $timeout." printStatistic() - LOG.error(errorText) + if (logsError) { + LOG.error(errorText) + } if (throws) { throw TimeoutException(errorText) }