From 11e00352549d02ef4586ae3fd5e9862de76532aa Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Thu, 18 Apr 2019 13:56:24 +0200 Subject: [PATCH] Support test parallelization in uast tests --- .../org/jetbrains/kotlin/checkers/PsiCheckerCustomTest.kt | 3 +++ plugins/uast-kotlin/build.gradle.kts | 2 +- plugins/uast-kotlin/tests/KotlinDetachedUastTest.kt | 3 +++ plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt | 4 +++- plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt.183 | 4 +++- plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt | 3 +++ plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt.182 | 3 +++ .../test/env/kotlin/AbstractTestWithCoreEnvironment.kt | 8 ++++++++ 8 files changed, 27 insertions(+), 3 deletions(-) diff --git a/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerCustomTest.kt b/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerCustomTest.kt index b7f5eab4e8c..eb485b6952e 100644 --- a/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerCustomTest.kt +++ b/idea/tests/org/jetbrains/kotlin/checkers/PsiCheckerCustomTest.kt @@ -7,8 +7,11 @@ package org.jetbrains.kotlin.checkers import com.intellij.codeInspection.ex.EntryPointsManagerBase import com.intellij.testFramework.LightProjectDescriptor +import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner import org.jetbrains.kotlin.test.KotlinTestUtils +import org.junit.runner.RunWith +@RunWith(JUnit3WithIdeaConfigurationRunner::class) class PsiCheckerCustomTest : AbstractPsiCheckerTest() { fun testNoUnusedParameterWhenCustom() { val testAnnotation = "MyTestAnnotation" diff --git a/plugins/uast-kotlin/build.gradle.kts b/plugins/uast-kotlin/build.gradle.kts index 3df484e281b..fcc4a42e14c 100644 --- a/plugins/uast-kotlin/build.gradle.kts +++ b/plugins/uast-kotlin/build.gradle.kts @@ -59,6 +59,6 @@ sourceSets { testsJar {} -projectTest(parallel = false) { +projectTest(parallel = true) { workingDir = rootDir } diff --git a/plugins/uast-kotlin/tests/KotlinDetachedUastTest.kt b/plugins/uast-kotlin/tests/KotlinDetachedUastTest.kt index 1fa28a1527b..4563e290f3c 100644 --- a/plugins/uast-kotlin/tests/KotlinDetachedUastTest.kt +++ b/plugins/uast-kotlin/tests/KotlinDetachedUastTest.kt @@ -30,9 +30,12 @@ import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.psi.KtPsiFactory import org.jetbrains.kotlin.psi.psiUtil.findDescendantOfType import org.jetbrains.kotlin.psi.psiUtil.getParentOfType +import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner import org.jetbrains.uast.* import org.jetbrains.uast.test.env.kotlin.findUElementByTextFromPsi +import org.junit.runner.RunWith +@RunWith(JUnit3WithIdeaConfigurationRunner::class) class KotlinDetachedUastTest : KotlinLightCodeInsightFixtureTestCase() { override fun getProjectDescriptor(): LightProjectDescriptor = KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE diff --git a/plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt b/plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt index 7701ae7b5d8..d81f5e60237 100644 --- a/plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt +++ b/plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt @@ -19,13 +19,15 @@ import com.intellij.testFramework.LightProjectDescriptor import com.intellij.testFramework.registerServiceInstance import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor +import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner import org.jetbrains.uast.UExpression import org.jetbrains.uast.evaluateString import org.jetbrains.uast.toUElementOfType import org.junit.Test +import org.junit.runner.RunWith import kotlin.test.fail - +@RunWith(JUnit3WithIdeaConfigurationRunner::class) class KotlinUastReferencesTest : KotlinLightCodeInsightFixtureTestCase() { override fun getProjectDescriptor(): LightProjectDescriptor = KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE diff --git a/plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt.183 b/plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt.183 index ae4b994c096..8604436a874 100644 --- a/plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt.183 +++ b/plugins/uast-kotlin/tests/KotlinUastReferencesTest.kt.183 @@ -19,13 +19,15 @@ import com.intellij.testFramework.LightProjectDescriptor import com.intellij.testFramework.registerServiceInstance import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor +import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner import org.jetbrains.uast.UExpression import org.jetbrains.uast.evaluateString import org.jetbrains.uast.toUElementOfType import org.junit.Test +import org.junit.runner.RunWith import kotlin.test.fail - +@RunWith(JUnit3WithIdeaConfigurationRunner::class) class KotlinUastReferencesTest : KotlinLightCodeInsightFixtureTestCase() { override fun getProjectDescriptor(): LightProjectDescriptor = KotlinWithJdkAndRuntimeLightProjectDescriptor.INSTANCE diff --git a/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt b/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt index 61f1a359675..feffaba2535 100644 --- a/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt +++ b/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt @@ -12,6 +12,7 @@ import com.intellij.testFramework.LightProjectDescriptor import junit.framework.TestCase import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor +import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner import org.jetbrains.uast.UElement import org.jetbrains.uast.UQualifiedReferenceExpression import org.jetbrains.uast.getContainingUMethod @@ -20,7 +21,9 @@ import org.jetbrains.uast.test.env.kotlin.findElementByText import org.jetbrains.uast.test.env.kotlin.findElementByTextFromPsi import org.jetbrains.uast.test.env.kotlin.findUElementByTextFromPsi import org.jetbrains.uast.toUElement +import org.junit.runner.RunWith +@RunWith(JUnit3WithIdeaConfigurationRunner::class) class KotlinUastResolveApiTest : KotlinLightCodeInsightFixtureTestCase() { override fun getProjectDescriptor(): LightProjectDescriptor = diff --git a/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt.182 b/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt.182 index f3d7d7d4647..ca1ce8700c4 100644 --- a/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt.182 +++ b/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt.182 @@ -12,7 +12,10 @@ import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor import org.jetbrains.uast.UQualifiedReferenceExpression import org.jetbrains.uast.test.env.kotlin.findUElementByTextFromPsi +import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner +import org.junit.runner.RunWith +@RunWith(JUnit3WithIdeaConfigurationRunner::class) class KotlinUastResolveApiTest : KotlinLightCodeInsightFixtureTestCase() { override fun getProjectDescriptor(): LightProjectDescriptor = diff --git a/plugins/uast-kotlin/tests/org/jetbrains/uast/test/env/kotlin/AbstractTestWithCoreEnvironment.kt b/plugins/uast-kotlin/tests/org/jetbrains/uast/test/env/kotlin/AbstractTestWithCoreEnvironment.kt index 7d0621c1c0b..e85965a6de2 100644 --- a/plugins/uast-kotlin/tests/org/jetbrains/uast/test/env/kotlin/AbstractTestWithCoreEnvironment.kt +++ b/plugins/uast-kotlin/tests/org/jetbrains/uast/test/env/kotlin/AbstractTestWithCoreEnvironment.kt @@ -13,6 +13,7 @@ import com.intellij.openapi.util.text.StringUtil import com.intellij.psi.PsiManager import com.intellij.rt.execution.junit.FileComparisonFailure import junit.framework.TestCase +import org.jetbrains.kotlin.test.IdeaSystemPropertiesForParallelRunConfigurator import org.jetbrains.uast.UastContext import org.jetbrains.uast.UastLanguagePlugin import org.jetbrains.uast.evaluation.UEvaluatorExtension @@ -20,6 +21,13 @@ import org.jetbrains.uast.java.JavaUastLanguagePlugin import java.io.File abstract class AbstractTestWithCoreEnvironment : TestCase() { + + companion object { + init { + IdeaSystemPropertiesForParallelRunConfigurator.setProperties() + } + } + private var myEnvironment: AbstractCoreEnvironment? = null protected val environment: AbstractCoreEnvironment