diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/ScriptDependenciesLoader.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/ScriptDependenciesLoader.kt index 545affa5aaa..2078c8d9163 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/ScriptDependenciesLoader.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/dependencies/ScriptDependenciesLoader.kt @@ -109,13 +109,19 @@ abstract class ScriptDependenciesLoader( protected fun notifyRootsChanged() { if (!shouldNotifyRootsChanged) return - TransactionGuard.submitTransaction(project, Runnable { + val doNotifyRootsChanged = Runnable { runWriteAction { if (project.isDisposed) return@runWriteAction ProjectRootManagerEx.getInstanceEx(project)?.makeRootsChange(EmptyRunnable.getInstance(), false, true) ScriptDependenciesModificationTracker.getInstance(project).incModificationCount() } - }) + } + + if (ApplicationManager.getApplication().isUnitTestMode) { + doNotifyRootsChanged.run() + } else { + TransactionGuard.getInstance().submitTransactionLater(project, doNotifyRootsChanged) + } } }