Add dispatchAllInvocationEvents to editor actions in perf tests

This commit is contained in:
Vladimir Dolzhenko
2020-07-04 23:33:02 +02:00
parent a830c69a30
commit 03d5fe8d6c
6 changed files with 19 additions and 3 deletions
@@ -9,13 +9,13 @@ import com.intellij.ide.highlighter.JavaFileType
import com.intellij.openapi.actionSystem.IdeActions
import com.intellij.openapi.application.runWriteAction
import com.intellij.psi.PsiDocumentManager
import com.intellij.util.ui.UIUtil
import org.jetbrains.kotlin.idea.KotlinFileType
import org.jetbrains.kotlin.idea.configuration.ExperimentalFeatures
import org.jetbrains.kotlin.idea.conversion.copy.AbstractJavaToKotlinCopyPasteConversionTest
import org.jetbrains.kotlin.idea.conversion.copy.ConvertJavaCopyPasteProcessor
import org.jetbrains.kotlin.idea.perf.Stats.Companion.WARM_UP
import org.jetbrains.kotlin.idea.testFramework.commitAllDocuments
import org.jetbrains.kotlin.idea.testFramework.dispatchAllInvocationEvents
import org.jetbrains.kotlin.test.InTextDirectivesUtils
import org.jetbrains.kotlin.test.KotlinTestUtils
import java.io.File
@@ -61,6 +61,7 @@ abstract class AbstractPerformanceJavaToKotlinCopyPasteConversionTest(private va
}
test {
myFixture.performEditorAction(IdeActions.ACTION_PASTE)
dispatchAllInvocationEvents()
}
tearDown {
val document = myFixture.getDocument(myFixture.file)
@@ -119,7 +120,7 @@ abstract class AbstractPerformanceJavaToKotlinCopyPasteConversionTest(private va
private fun perfTestCore() {
myFixture.performEditorAction(IdeActions.ACTION_PASTE)
UIUtil.dispatchAllInvocationEvents()
dispatchAllInvocationEvents()
}
private fun stats() = stats[j2kIndex()]
@@ -12,6 +12,7 @@ import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.idea.AbstractCopyPasteTest
import org.jetbrains.kotlin.idea.perf.Stats.Companion.WARM_UP
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
import org.jetbrains.kotlin.idea.testFramework.dispatchAllInvocationEvents
import org.jetbrains.kotlin.test.KotlinTestUtils
import java.io.File
@@ -64,6 +65,8 @@ abstract class AbstractPerformanceLiteralKotlinToKotlinCopyPasteTest : AbstractC
fileEditorManager.setSelectedEditor(it.setUpValue!!.second.virtualFile, "")
myFixture.performEditorAction(IdeActions.ACTION_PASTE)
dispatchAllInvocationEvents()
}
tearDown {
assertEquals("private val value: String? = n", it.setUpValue!!.second.text)
@@ -98,6 +101,8 @@ abstract class AbstractPerformanceLiteralKotlinToKotlinCopyPasteTest : AbstractC
fileEditorManager.setSelectedEditor(it.setUpValue!![1].virtualFile, "")
myFixture.performEditorAction(IdeActions.ACTION_PASTE)
dispatchAllInvocationEvents()
}
tearDown {
KotlinTestUtils.assertEqualsToFile(expectedPath, it.setUpValue!![1].text)
@@ -524,6 +524,8 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() {
val fixture2 = setUpValue.first[1]
it.value = fixture1.performEditorAction(IdeActions.ACTION_COPY) &&
fixture2.performEditorAction(IdeActions.ACTION_PASTE)
dispatchAllInvocationEvents()
}
}
tearDown {
@@ -7,10 +7,13 @@ package org.jetbrains.kotlin.idea.perf
import com.intellij.application.options.CodeStyle
import com.intellij.openapi.actionSystem.IdeActions
import com.intellij.openapi.application.impl.NonBlockingReadActionImpl
import com.intellij.openapi.util.io.FileUtil
import com.intellij.testFramework.EditorTestUtil
import com.intellij.util.ui.UIUtil
import org.jetbrains.kotlin.formatter.FormatSettingsUtil
import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
import org.jetbrains.kotlin.idea.testFramework.dispatchAllInvocationEvents
import org.jetbrains.kotlin.test.KotlinTestUtils
import java.io.File
@@ -42,7 +45,6 @@ abstract class AbstractPerformanceTypingIndentationTest : KotlinLightCodeInsight
performanceTest<Unit, Unit> {
name(testName)
stats(stats)
checkStability(false) // [VD] TODO: seems it could be some leakages here
warmUpIterations(20)
iterations(30)
setUp {
@@ -50,8 +52,10 @@ abstract class AbstractPerformanceTypingIndentationTest : KotlinLightCodeInsight
}
test {
myFixture.performEditorAction(IdeActions.ACTION_EDITOR_ENTER)
dispatchAllInvocationEvents()
}
tearDown {
val actualTextWithCaret = StringBuilder(editor.document.text).insert(
editor.caretModel.offset,
EditorTestUtil.CARET_TAG
@@ -13,6 +13,7 @@ import com.intellij.lang.LanguageAnnotators
import com.intellij.lang.LanguageExtensionPoint
import com.intellij.lang.annotation.Annotator
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.impl.NonBlockingReadActionImpl
import com.intellij.openapi.editor.Document
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.openapi.fileEditor.FileDocumentManager
@@ -66,6 +67,7 @@ fun enableHints(enable: Boolean) =
fun dispatchAllInvocationEvents() {
runInEdtAndWait {
UIUtil.dispatchAllInvocationEvents()
NonBlockingReadActionImpl.waitForAsyncTaskCompletion();
}
}
@@ -14,6 +14,7 @@ import com.intellij.lang.LanguageAnnotators
import com.intellij.lang.LanguageExtensionPoint
import com.intellij.lang.annotation.Annotator
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.impl.NonBlockingReadActionImpl
import com.intellij.openapi.editor.Document
import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.openapi.fileEditor.FileDocumentManager
@@ -68,6 +69,7 @@ fun enableHints(enable: Boolean) =
fun dispatchAllInvocationEvents() {
runInEdtAndWait {
UIUtil.dispatchAllInvocationEvents()
NonBlockingReadActionImpl.waitForAsyncTaskCompletion();
}
}