From 16c5ba0988a5d15b40f88f8996f8a687ab4827fe Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Thu, 25 Jun 2020 14:19:09 +0300 Subject: [PATCH] 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 --- .../core/script/configuration/DefaultScriptingSupport.kt | 3 +++ .../idea/core/script/ucache/ScriptClassRootsUpdater.kt | 6 +----- .../kotlin/idea/repl/AbstractIdeReplCompletionTest.kt | 2 ++ tests/mute-platform.csv | 1 - tests/mute-platform.csv.193 | 1 - tests/mute-platform.csv.as40 | 1 - 6 files changed, 6 insertions(+), 8 deletions(-) diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/DefaultScriptingSupport.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/DefaultScriptingSupport.kt index e6ae19099bb..a3917338056 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/DefaultScriptingSupport.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/configuration/DefaultScriptingSupport.kt @@ -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) { diff --git a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ucache/ScriptClassRootsUpdater.kt b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ucache/ScriptClassRootsUpdater.kt index 333fbe1ebf1..0d8b6f10db9 100644 --- a/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ucache/ScriptClassRootsUpdater.kt +++ b/idea/idea-core/src/org/jetbrains/kotlin/idea/core/script/ucache/ScriptClassRootsUpdater.kt @@ -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) { diff --git a/idea/tests/org/jetbrains/kotlin/idea/repl/AbstractIdeReplCompletionTest.kt b/idea/tests/org/jetbrains/kotlin/idea/repl/AbstractIdeReplCompletionTest.kt index ab4940bb704..e409d3dbcbe 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/repl/AbstractIdeReplCompletionTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/repl/AbstractIdeReplCompletionTest.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.console.KotlinConsoleKeeper import org.jetbrains.kotlin.console.KotlinConsoleRunner import org.jetbrains.kotlin.idea.completion.test.KotlinFixtureCompletionBaseTestCase import org.jetbrains.kotlin.idea.completion.test.testCompletion +import org.jetbrains.kotlin.idea.core.script.ScriptConfigurationManager import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.kotlin.idea.test.PluginTestCaseBase import org.jetbrains.kotlin.idea.util.application.runWriteAction @@ -27,6 +28,7 @@ abstract class AbstractIdeReplCompletionTest : KotlinFixtureCompletionBaseTestCa override fun setUp() { super.setUp() consoleRunner = KotlinConsoleKeeper.getInstance(project).run(module)!! + ScriptConfigurationManager.updateScriptDependenciesSynchronously(consoleRunner!!.consoleFile) VfsRootAccess.allowRootAccess(KotlinTestUtils.getHomeDirectory()) } diff --git a/tests/mute-platform.csv b/tests/mute-platform.csv index 3f9b26e489d..0e27f727d28 100644 --- a/tests/mute-platform.csv +++ b/tests/mute-platform.csv @@ -155,7 +155,6 @@ org.jetbrains.kotlin.idea.refactoring.suggested.KotlinSuggestedRefactoringChange org.jetbrains.kotlin.idea.refactoring.suggested.KotlinSuggestedRefactoringChangeListenerTest.testAddImportWithBlankLineInsertion, Additional signature,, org.jetbrains.kotlin.idea.refactoring.suggested.KotlinSuggestedRefactoringChangeListenerTest.testAddImportWithBlankLinesRemoval, Additional signature,, org.jetbrains.kotlin.idea.refactoring.suggested.KotlinSuggestedRefactoringChangeListenerTest.testCommentTyping, Additional signature,, -org.jetbrains.kotlin.idea.repl.IdeReplCompletionTestGenerated.testDefinedExtension, KT-34825,, org.jetbrains.kotlin.idea.resolve.ReferenceResolveInLibrarySourcesTestGenerated.testInLibrarySource, KT-34542, FAIL, org.jetbrains.kotlin.idea.resolve.ReferenceResolveInLibrarySourcesTestGenerated.testToFunParameter, KT-34542, FAIL, org.jetbrains.kotlin.idea.resolve.ReferenceResolveInLibrarySourcesTestGenerated.testToLocalFun, KT-34542, FAIL, diff --git a/tests/mute-platform.csv.193 b/tests/mute-platform.csv.193 index f43f7c1cbda..82e7e49605c 100644 --- a/tests/mute-platform.csv.193 +++ b/tests/mute-platform.csv.193 @@ -101,7 +101,6 @@ org.jetbrains.kotlin.idea.quickfix.QuickFixMultiModuleTestGenerated.Other.testCo org.jetbrains.kotlin.idea.refactoring.inline.InlineTestGenerated.Function.ExpressionBody.testMultipleInExpression, Unstable order of usages,,FLAKY org.jetbrains.kotlin.idea.refactoring.move.MoveTestGenerated.testJava_moveClass_moveInnerToTop_moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstanceWithLambda_MoveNestedClassToTopLevelInTheSamePackageAndAddOuterInstanceWithLambda, final modifier added,, org.jetbrains.kotlin.idea.refactoring.move.MoveTestGenerated.testJava_moveClass_moveInnerToTop_moveNestedClassToTopLevelInTheSamePackageAndAddOuterInstance_MoveNestedClassToTopLevelInTheSamePackageAndAddOuterInstance, final modifier added,, -org.jetbrains.kotlin.idea.repl.IdeReplCompletionTestGenerated.testDefinedExtension, KT-34825,, org.jetbrains.kotlin.idea.resolve.ReferenceResolveInLibrarySourcesTestGenerated.testInLibrarySource, KT-34542, FAIL, org.jetbrains.kotlin.idea.resolve.ReferenceResolveInLibrarySourcesTestGenerated.testToFunParameter, KT-34542, FAIL, org.jetbrains.kotlin.idea.resolve.ReferenceResolveInLibrarySourcesTestGenerated.testToLocalFun, KT-34542, FAIL, diff --git a/tests/mute-platform.csv.as40 b/tests/mute-platform.csv.as40 index 0857f1c66a3..cc5200f4c3a 100644 --- a/tests/mute-platform.csv.as40 +++ b/tests/mute-platform.csv.as40 @@ -106,7 +106,6 @@ org.jetbrains.kotlin.idea.refactoring.move.MoveTestGenerated.testJava_moveClass_ org.jetbrains.kotlin.idea.intentions.IntentionTestGenerated.ConvertSealedClassToEnum.testWithNonObjectInheritors, Enum reorder,, FLAKY org.jetbrains.kotlin.idea.refactoring.pullUp.PullUpTestGenerated.K2K.testAccidentalOverrides, Unprocessed,, FLAKY org.jetbrains.kotlin.idea.refactoring.rename.RenameTestGenerated.testOverloadsWithSameOrigin_OverloadsWithSameOrigin, Bad imports after rename,, FLAKY -org.jetbrains.kotlin.idea.repl.IdeReplCompletionTestGenerated.testDefinedExtension, KT-34825,, org.jetbrains.kotlin.idea.resolve.ReferenceResolveInLibrarySourcesTestGenerated.testInLibrarySource, KT-34542, FAIL, org.jetbrains.kotlin.idea.resolve.ReferenceResolveInLibrarySourcesTestGenerated.testToFunParameter, KT-34542, FAIL, org.jetbrains.kotlin.idea.resolve.ReferenceResolveInLibrarySourcesTestGenerated.testToLocalFun, KT-34542, FAIL,