IJPL-116 append coroutine dump to jstack output in tests

GitOrigin-RevId: daaafa9ebaa672afb149da41ed76afa5e0ec85dc
This commit is contained in:
Daniil Ovchinnikov
2023-07-17 13:11:33 +02:00
committed by intellij-monorepo-bot
parent e11dec83ba
commit 3f334e02a2
2 changed files with 10 additions and 0 deletions

View File

@@ -10,6 +10,7 @@
<orderEntry type="library" name="jetbrains-annotations" level="project" />
<orderEntry type="library" name="kotlin-stdlib" level="project" />
<orderEntry type="library" name="kotlinx-coroutines-core" level="project" />
<orderEntry type="library" name="jbr-api" level="project" />
<orderEntry type="module" module-name="intellij.platform.boot" />
<orderEntry type="module" module-name="intellij.platform.util.classLoader" />
<orderEntry type="module" module-name="intellij.platform.util" />

View File

@@ -8,7 +8,9 @@ import com.intellij.codeInsight.completion.CompletionProgressIndicator
import com.intellij.codeInsight.hint.HintManager
import com.intellij.codeInsight.hint.HintManagerImpl
import com.intellij.concurrency.IdeaForkJoinWorkerThreadFactory
import com.intellij.diagnostic.COROUTINE_DUMP_HEADER
import com.intellij.diagnostic.LoadingState
import com.intellij.diagnostic.dumpCoroutines
import com.intellij.diagnostic.enableCoroutineDump
import com.intellij.ide.plugins.PluginManagerCore
import com.intellij.idea.AppMode
@@ -63,6 +65,7 @@ import com.intellij.util.indexing.FileBasedIndex
import com.intellij.util.indexing.FileBasedIndexImpl
import com.intellij.util.ui.EDT
import com.intellij.util.ui.EdtInvocationManager
import com.jetbrains.JBR
import kotlinx.coroutines.*
import kotlinx.coroutines.future.asCompletableFuture
import org.jetbrains.annotations.ApiStatus.Internal
@@ -107,6 +110,12 @@ fun loadApp() {
@Internal
fun loadApp(setupEventQueue: Runnable) {
enableCoroutineDump()
JBR.getJstack()?.includeInfoFrom {
"""
$COROUTINE_DUMP_HEADER
${dumpCoroutines(stripDump = false)}
"""
}
val isHeadless = UITestUtil.getAndSetHeadlessProperty()
AppMode.setHeadlessInTestMode(isHeadless)
PluginManagerCore.isUnitTestMode = true