IDEA-385352 jdk: wait for coroutine completion in JdkUpdateTest

GitOrigin-RevId: 6896362350f320c395931ec9cbe4388317aa2078
This commit is contained in:
Louis Vignier
2026-02-03 18:41:41 +01:00
committed by intellij-monorepo-bot
parent fe36b27348
commit 59668c448d
2 changed files with 5 additions and 2 deletions

View File

@@ -19,8 +19,8 @@ import com.intellij.testFramework.EdtRule
import com.intellij.testFramework.RunsInEdt
import com.intellij.testFramework.fixtures.BareTestFixtureTestCase
import com.intellij.testFramework.rules.TempDirectory
import com.intellij.testFramework.utils.coroutines.waitCoroutinesBlocking
import com.intellij.util.SystemProperties
import com.intellij.util.ui.UIUtil
import org.junit.Assert
import org.junit.Before
import org.junit.Rule
@@ -249,8 +249,8 @@ private fun doEventsWhile(iterations: Int = Int.MAX_VALUE / 2,
ApplicationManager.getApplication().invokeAndWait {
NonBlockingReadActionImpl.waitForAsyncTaskCompletion()
UIUtil.dispatchAllInvocationEvents()
}
waitCoroutinesBlocking(service<JdkUpdaterNotifications>().getNotificationScope(), 1000)
if (!condition()) return
Thread.sleep(30)

View File

@@ -23,6 +23,7 @@ import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.debounce
import kotlinx.coroutines.launch
import org.jetbrains.annotations.ApiStatus.Internal
import org.jetbrains.annotations.TestOnly
import java.util.concurrent.locks.ReentrantLock
import kotlin.concurrent.withLock
import kotlin.time.Duration.Companion.milliseconds
@@ -103,6 +104,8 @@ class JdkUpdaterNotifications(private val coroutineScope: CoroutineScope) {
}
fun getActions() : List<JdkUpdateNotification.JdkUpdateSuggestionAction> = pendingActionsCopy
@TestOnly fun getNotificationScope(): CoroutineScope = notificationScope
}
internal class JdkSettingsActionRegistryActionProvider : SettingsEntryPointAction.ActionProvider {