mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
IDEA-385352 jdk: wait for coroutine completion in JdkUpdateTest
GitOrigin-RevId: 6896362350f320c395931ec9cbe4388317aa2078
This commit is contained in:
committed by
intellij-monorepo-bot
parent
fe36b27348
commit
59668c448d
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user