From ee5ecb232abca27fb3fda0fa54b2644cf1f42e52 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Fri, 8 May 2020 16:40:29 +0300 Subject: [PATCH] Long test execution on 201: remove repeating calls to startup activities (KTI-185) Method was refactored in https://github.com/JetBrains/intellij-community/commit/735c98d153779997b208c2c600c07a12a79ad0de #KTI-185 Fixed --- .../KotlinLightCodeInsightFixtureTestCase.kt | 4 +--- ...LightPlatformCodeInsightFixtureTestCase.kt | 4 +--- .../org/jetbrains/kotlin/idea/test/compat.kt | 7 +++++++ .../jetbrains/kotlin/idea/test/compat.kt.192 | 7 +++++++ .../jetbrains/kotlin/idea/test/compat.kt.201 | 21 +++++++++++++++++++ .../idea/testFramework/projectRoutines.kt | 3 ++- .../idea/testFramework/projectRoutines.kt.191 | 3 ++- .../idea/testFramework/projectRoutines.kt.192 | 3 ++- .../kotlin/idea/kdoc/KdocRenameTest.java | 5 ++--- 9 files changed, 45 insertions(+), 12 deletions(-) create mode 100644 idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt.201 diff --git a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt index 73adbf7aaa4..53a8db11c01 100644 --- a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt +++ b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.idea.test import com.intellij.application.options.CodeStyle import com.intellij.ide.highlighter.JavaFileType -import com.intellij.ide.startup.impl.StartupManagerImpl import com.intellij.openapi.actionSystem.ActionPlaces import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.Presentation @@ -17,7 +16,6 @@ import com.intellij.openapi.editor.ex.EditorEx import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProviderImpl import com.intellij.openapi.module.Module import com.intellij.openapi.project.Project -import com.intellij.openapi.startup.StartupManager import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.util.registry.Registry import com.intellij.openapi.util.text.StringUtil @@ -87,7 +85,7 @@ abstract class KotlinLightCodeInsightFixtureTestCase : KotlinLightCodeInsightFix // when done lazily UnusedSymbolInspection() - (StartupManager.getInstance(project) as StartupManagerImpl).runPostStartupActivities() + runPostStartupActivitiesOnce(project) VfsRootAccess.allowRootAccess(project, KotlinTestUtils.getHomeDirectory()) editorTrackerProjectOpened(project) diff --git a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightPlatformCodeInsightFixtureTestCase.kt b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightPlatformCodeInsightFixtureTestCase.kt index 53c4f8f9773..ad0861e3ff1 100644 --- a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightPlatformCodeInsightFixtureTestCase.kt +++ b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightPlatformCodeInsightFixtureTestCase.kt @@ -5,8 +5,6 @@ package org.jetbrains.kotlin.idea.test -import com.intellij.ide.startup.impl.StartupManagerImpl -import com.intellij.openapi.startup.StartupManager import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess import com.intellij.testFramework.fixtures.LightPlatformCodeInsightFixtureTestCase import com.intellij.util.ThrowableRunnable @@ -19,7 +17,7 @@ abstract class KotlinLightPlatformCodeInsightFixtureTestCase : LightPlatformCode override fun setUp() { super.setUp() enableKotlinOfficialCodeStyle(project) - (StartupManager.getInstance(project) as StartupManagerImpl).runPostStartupActivities() + runPostStartupActivitiesOnce(project) VfsRootAccess.allowRootAccess(KotlinTestUtils.getHomeDirectory()) invalidateLibraryCache(project) } diff --git a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt index 53124bcf3d6..8b48b93cb6a 100644 --- a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt +++ b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt @@ -6,9 +6,16 @@ package org.jetbrains.kotlin.idea.test import com.intellij.codeInsight.daemon.impl.EditorTracker +import com.intellij.ide.startup.impl.StartupManagerImpl import com.intellij.openapi.project.Project +import com.intellij.openapi.startup.StartupManager // BUNCH: 192 fun editorTrackerProjectOpened(project: Project) { EditorTracker.getInstance(project) +} + +// BUNCH: 193 +fun runPostStartupActivitiesOnce(project: Project) { + (StartupManager.getInstance(project) as StartupManagerImpl).runPostStartupActivities() } \ No newline at end of file diff --git a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt.192 b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt.192 index 2233fdb1410..ed2bd266a0d 100644 --- a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt.192 +++ b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt.192 @@ -6,9 +6,16 @@ package org.jetbrains.kotlin.idea.test import com.intellij.codeInsight.daemon.impl.EditorTracker +import com.intellij.ide.startup.impl.StartupManagerImpl import com.intellij.openapi.project.Project +import com.intellij.openapi.startup.StartupManager // BUNCH: 192 fun editorTrackerProjectOpened(project: Project) { project.getComponent(EditorTracker::class.java)?.projectOpened() +} + +// BUNCH: 193 +fun runPostStartupActivitiesOnce(project: Project) { + (StartupManager.getInstance(project) as StartupManagerImpl).runPostStartupActivities() } \ No newline at end of file diff --git a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt.201 b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt.201 new file mode 100644 index 00000000000..1aeded4356a --- /dev/null +++ b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/compat.kt.201 @@ -0,0 +1,21 @@ +/* + * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.test + +import com.intellij.codeInsight.daemon.impl.EditorTracker +import com.intellij.ide.startup.impl.StartupManagerImpl +import com.intellij.openapi.project.Project +import com.intellij.openapi.startup.StartupManager + +// BUNCH: 192 +fun editorTrackerProjectOpened(project: Project) { + EditorTracker.getInstance(project) +} + +// BUNCH: 193 +fun runPostStartupActivitiesOnce(project: Project) { + (StartupManager.getInstance(project) as StartupManagerImpl).runPostStartupActivitiesRegisteredDynamically() +} \ No newline at end of file diff --git a/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt b/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt index 149a8c5f9f0..406c9ad7be9 100644 --- a/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt +++ b/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt @@ -22,6 +22,7 @@ import com.intellij.testFramework.ExtensionTestUtil import com.intellij.testFramework.runInEdtAndWait import com.intellij.util.ui.UIUtil import org.jetbrains.kotlin.idea.parameterInfo.HintType +import org.jetbrains.kotlin.idea.test.runPostStartupActivitiesOnce import java.io.PrintWriter import java.io.StringWriter import java.nio.file.Paths @@ -79,8 +80,8 @@ fun runStartupActivities(project: Project) { with(StartupManager.getInstance(project) as StartupManagerImpl) { //scheduleInitialVfsRefresh() runStartupActivities() - runPostStartupActivities() } + runPostStartupActivitiesOnce(project) } fun waitForAllEditorsFinallyLoaded(project: Project) { diff --git a/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt.191 b/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt.191 index 48caaaca1ee..0147901a3ac 100644 --- a/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt.191 +++ b/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt.191 @@ -25,6 +25,7 @@ import com.intellij.testFramework.PlatformTestUtil import com.intellij.testFramework.runInEdtAndWait import com.intellij.util.ui.UIUtil import org.jetbrains.kotlin.idea.parameterInfo.HintType +import org.jetbrains.kotlin.idea.test.runPostStartupActivitiesOnce import java.util.concurrent.TimeUnit import java.util.concurrent.TimeoutException import java.io.PrintWriter @@ -83,8 +84,8 @@ fun runStartupActivities(project: Project) { with(StartupManager.getInstance(project) as StartupManagerImpl) { scheduleInitialVfsRefresh() runStartupActivities() - runPostStartupActivities() } + runPostStartupActivitiesOnce(project) } fun waitForAllEditorsFinallyLoaded(project: Project) { diff --git a/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt.192 b/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt.192 index 89586d6c8ee..c1d2f733ef8 100644 --- a/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt.192 +++ b/idea/performanceTests/test/org/jetbrains/kotlin/idea/testFramework/projectRoutines.kt.192 @@ -22,6 +22,7 @@ import com.intellij.testFramework.PlatformTestUtil import com.intellij.testFramework.runInEdtAndWait import com.intellij.util.ui.UIUtil import org.jetbrains.kotlin.idea.parameterInfo.HintType +import org.jetbrains.kotlin.idea.test.runPostStartupActivitiesOnce import java.io.PrintWriter import java.io.StringWriter @@ -78,8 +79,8 @@ fun runStartupActivities(project: Project) { with(StartupManager.getInstance(project) as StartupManagerImpl) { scheduleInitialVfsRefresh() runStartupActivities() - runPostStartupActivities() } + runPostStartupActivitiesOnce(project) } fun waitForAllEditorsFinallyLoaded(project: Project) { diff --git a/idea/tests/org/jetbrains/kotlin/idea/kdoc/KdocRenameTest.java b/idea/tests/org/jetbrains/kotlin/idea/kdoc/KdocRenameTest.java index d6e3e2de264..5c6a222481e 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/kdoc/KdocRenameTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/kdoc/KdocRenameTest.java @@ -6,11 +6,10 @@ package org.jetbrains.kotlin.idea.kdoc; import com.intellij.codeInsight.TargetElementUtil; -import com.intellij.ide.startup.impl.StartupManagerImpl; -import com.intellij.openapi.startup.StartupManager; import com.intellij.psi.PsiElement; import com.intellij.refactoring.rename.RenameProcessor; import org.jetbrains.annotations.NotNull; +import org.jetbrains.kotlin.idea.test.CompatKt; import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightTestCase; import org.jetbrains.kotlin.idea.test.PluginTestCaseBase; import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner; @@ -40,7 +39,7 @@ public class KdocRenameTest extends KotlinLightCodeInsightTestCase { @Override protected void setUp() throws Exception { super.setUp(); - ((StartupManagerImpl) StartupManager.getInstance(getProject())).runPostStartupActivities(); + CompatKt.runPostStartupActivitiesOnce(getProject()); } private void doTest(String newName) {