From dbec626a49b24e33e28ca7c5bf2121389d93b485 Mon Sep 17 00:00:00 2001 From: Vladimir Dolzhenko Date: Tue, 9 Jul 2019 18:49:37 +0300 Subject: [PATCH] Fix performance test compilation for 182 --- .../idea/perf/AbstractPerformanceProjectsTest.kt | 11 +++++------ .../jetbrains/kotlin/idea/perf/projectRoutines.kt | 6 ++++++ .../kotlin/idea/perf/projectRoutines.kt.182 | 13 ++++++++++++- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceProjectsTest.kt b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceProjectsTest.kt index f8a5945911a..3d312f8c2f7 100644 --- a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceProjectsTest.kt +++ b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceProjectsTest.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.idea.perf import com.intellij.codeInsight.daemon.* import com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl -import com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl.waitForAllEditorsFinallyLoaded import com.intellij.codeInsight.daemon.impl.HighlightInfo import com.intellij.codeInsight.daemon.impl.IdentifierHighlighterPassFactory import com.intellij.ide.highlighter.ModuleFileType @@ -45,14 +44,15 @@ import com.intellij.openapi.vcs.changes.ChangeListManager import com.intellij.openapi.vcs.changes.ChangeListManagerImpl import com.intellij.openapi.vfs.LocalFileSystem import com.intellij.openapi.vfs.VirtualFileManager +import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiFile import com.intellij.psi.PsiManager import com.intellij.psi.impl.search.IndexPatternBuilder import com.intellij.psi.xml.XmlFileNSInfoProvider import com.intellij.testFramework.* -import com.intellij.testFramework.fixtures.EditorTestFixture import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl import com.intellij.testFramework.propertyBased.MadTestingUtil +import com.intellij.util.ArrayUtilRt import com.intellij.util.ThrowableRunnable import com.intellij.util.indexing.UnindexedFilesUpdater import com.intellij.util.io.exists @@ -68,7 +68,6 @@ import org.jetbrains.kotlin.idea.test.invalidateLibraryCache import org.jetbrains.plugins.gradle.service.project.GradleProjectOpenProcessor import java.io.File import java.nio.file.Paths -import java.util.concurrent.TimeUnit abstract class AbstractPerformanceProjectsTest : UsefulTestCase() { @@ -319,8 +318,8 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() { private fun highlightFile(project: Project, psiFile: PsiFile): List { val document = FileDocumentManager.getInstance().getDocument(psiFile.virtualFile)!! val editor = EditorFactory.getInstance().getEditors(document).first() - val fixture = EditorTestFixture(project, editor, psiFile.virtualFile) - return fixture.doHighlighting(true) + PsiDocumentManager.getInstance(project).commitAllDocuments() + return CodeInsightTestFixtureImpl.instantiateAndRun(psiFile, editor, ArrayUtilRt.EMPTY_INT_ARRAY, true) } protected fun perfFileAnalysis(name: String, stats: Stats, note: String = "") = @@ -410,7 +409,7 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() { assertNotNull("doc not found for $vFile", EditorFactory.getInstance().getEditors(document)) assertTrue("expected non empty doc", document.text.isNotEmpty()) - waitForAllEditorsFinallyLoaded(project, 30, TimeUnit.SECONDS) + waitForAllEditorsFinallyLoaded(project) return EditorFile(psiFile = psiFile, document = document) } diff --git a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/projectRoutines.kt b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/projectRoutines.kt index a121c865ea2..25a38f07876 100644 --- a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/projectRoutines.kt +++ b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/projectRoutines.kt @@ -13,6 +13,8 @@ import com.intellij.testFramework.EdtTestUtil import com.intellij.util.ThrowableRunnable import com.intellij.util.ui.UIUtil import org.jetbrains.kotlin.idea.parameterInfo.HintType +import com.intellij.codeInsight.daemon.impl.DaemonCodeAnalyzerImpl.waitForAllEditorsFinallyLoaded +import java.util.concurrent.TimeUnit fun commitAllDocuments() { ProjectManagerEx.getInstanceEx().openProjects.forEach { project -> @@ -45,3 +47,7 @@ fun closeProject(project: Project) { val projectManagerEx = ProjectManagerEx.getInstanceEx() projectManagerEx.forceCloseProject(project, true) } + +fun waitForAllEditorsFinallyLoaded(project: Project) { + waitForAllEditorsFinallyLoaded(project, 30, TimeUnit.SECONDS) +} \ No newline at end of file diff --git a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/projectRoutines.kt.182 b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/projectRoutines.kt.182 index 210923ad508..74a1b75b8e5 100644 --- a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/projectRoutines.kt.182 +++ b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/projectRoutines.kt.182 @@ -12,6 +12,7 @@ import com.intellij.psi.impl.PsiDocumentManagerBase import com.intellij.testFramework.EdtTestUtil import com.intellij.util.ThrowableRunnable import com.intellij.util.ui.UIUtil +import org.jetbrains.kotlin.idea.parameterInfo.HintType fun commitAllDocuments() { ProjectManagerEx.getInstanceEx().openProjects.forEach { project -> @@ -33,8 +34,18 @@ fun runInEdtAndWait(block: () -> Unit) { }) } +fun dispatchAllInvocationEvents() { + runInEdtAndWait { + UIUtil.dispatchAllInvocationEvents() + } +} + fun closeProject(project: Project) { - UIUtil.dispatchAllInvocationEvents() + dispatchAllInvocationEvents() val projectManagerEx = ProjectManagerEx.getInstanceEx() projectManagerEx.closeAndDispose(project) } + +fun waitForAllEditorsFinallyLoaded(project: Project) { + // 182 does not have this public api +} \ No newline at end of file