Tests: do not throw roots change event in the current thread

This may cause exception during resolve,
because all caches are invalidated after this
and resolve should be restarted
Exception: module descriptor isn't find in its own dependencies
Unmute IdeReplCompletionTestGenerated.testDefinedExtension

^KT-34825 Fixed
This commit is contained in:
Natalia Selezneva
2020-06-25 14:19:09 +03:00
parent 5871628f2b
commit 16c5ba0988
6 changed files with 6 additions and 8 deletions
@@ -14,6 +14,7 @@ import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiFile
import com.intellij.psi.PsiManager
import com.intellij.ui.EditorNotifications
import com.intellij.util.ui.UIUtil
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import org.jetbrains.annotations.TestOnly
@@ -528,6 +529,8 @@ abstract class DefaultScriptingSupportBase(val manager: CompositeScriptConfigura
manager.updater.update {
reloadOutOfDateConfiguration(file, forceSync = true)
}
UIUtil.dispatchAllInvocationEvents()
}
fun collectConfigurations(builder: ScriptClassRootsBuilder) {
@@ -234,11 +234,7 @@ abstract class ScriptClassRootsUpdater(
}
}
if (ApplicationManager.getApplication().isUnitTestMode) {
TransactionGuard.submitTransaction(project, doNotifyRootsChanged)
} else {
TransactionGuard.getInstance().submitTransactionLater(project, doNotifyRootsChanged)
}
TransactionGuard.getInstance().submitTransactionLater(project, doNotifyRootsChanged)
}
private fun updateHighlighting(project: Project, filter: (VirtualFile) -> Boolean) {