Parallelize idea-gradle tests

This commit is contained in:
Mikhael Bogdanov
2019-04-18 14:33:49 +02:00
parent 90bf36ea7a
commit 867e39f73c
4 changed files with 16 additions and 10 deletions
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.test
import org.junit.internal.runners.JUnit38ClassRunner
import org.junit.runners.BlockJUnit4ClassRunner
import org.junit.runners.Parameterized
class JUnit3WithIdeaConfigurationRunner(klass: Class<*>?) : JUnit38ClassRunner(klass) {
@@ -19,6 +20,15 @@ class JUnit3WithIdeaConfigurationRunner(klass: Class<*>?) : JUnit38ClassRunner(k
class JUnit4WithIdeaConfigurationRunner(klass: Class<*>?) : BlockJUnit4ClassRunner(klass) {
companion object {
init {
IdeaSystemPropertiesForParallelRunConfigurator.setProperties()
}
}
}
class JUnitParameterizedWithIdeaConfigurationRunner(klass: Class<*>?) : Parameterized(klass) {
companion object {
init {
IdeaSystemPropertiesForParallelRunConfigurator.setProperties()
+1 -1
View File
@@ -68,7 +68,7 @@ sourceSets {
testsJar()
projectTest(parallel = false) {
projectTest(parallel = true) {
workingDir = rootDir
useAndroidSdk()
}
@@ -12,8 +12,10 @@ import org.jetbrains.kotlin.idea.configuration.KotlinGradleSharedMultiplatformMo
import org.jetbrains.kotlin.idea.configuration.KotlinGradleWebMultiplatformModuleBuilder
import org.jetbrains.kotlin.idea.test.KotlinSdkCreationChecker
import org.jetbrains.kotlin.konan.target.HostManager
import org.junit.Test
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
import org.junit.runner.RunWith
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
class GradleMultiplatformWizardTest : AbstractGradleMultiplatformWizardTest() {
lateinit var sdkCreationChecker: KotlinSdkCreationChecker
@@ -28,13 +30,11 @@ class GradleMultiplatformWizardTest : AbstractGradleMultiplatformWizardTest() {
super.tearDown()
}
@Test
fun testMobile() {
// TODO: add import & tests here when we will be able to locate Android SDK automatically (see KT-27635)
testImportFromBuilder(KotlinGradleMobileMultiplatformModuleBuilder(), performImport = false)
}
@Test
fun testMobileShared() {
val builder = KotlinGradleMobileSharedMultiplatformModuleBuilder()
val project = testImportFromBuilder(builder, "SampleTests", "SampleTestsJVM", metadataInside = true)
@@ -44,29 +44,24 @@ class GradleMultiplatformWizardTest : AbstractGradleMultiplatformWizardTest() {
}
}
@Test
fun testNative() {
val builder = KotlinGradleNativeMultiplatformModuleBuilder()
val project = testImportFromBuilder(builder)
runTaskInProject(project, builder.nativeTestName)
}
@Test
fun testShared() {
val builder = KotlinGradleSharedMultiplatformModuleBuilder()
val project = testImportFromBuilder(builder, "SampleTests", "SampleTestsJVM", "SampleTestsNative", metadataInside = true)
runTaskInProject(project, builder.nativeTestName)
}
@Test
fun testSharedWithQualifiedName() {
val builder = KotlinGradleSharedMultiplatformModuleBuilder()
val project = testImportFromBuilder(builder, "SampleTests", "SampleTestsJVM", "SampleTestsNative", metadataInside = true, useQualifiedModuleNames = true)
runTaskInProject(project, builder.nativeTestName)
}
@Test
fun testWeb() {
testImportFromBuilder(KotlinGradleWebMultiplatformModuleBuilder(), "SampleTests", "SampleTestsJVM")
}
@@ -45,6 +45,7 @@ import org.intellij.lang.annotations.Language
import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.idea.test.KotlinSdkCreationChecker
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
import org.jetbrains.kotlin.test.JUnitParameterizedWithIdeaConfigurationRunner
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.plugins.gradle.settings.DistributionType
import org.jetbrains.plugins.gradle.settings.GradleProjectSettings
@@ -66,7 +67,7 @@ import org.junit.AfterClass
import org.junit.Assume.assumeTrue
// part of org.jetbrains.plugins.gradle.importing.GradleImportingTestCase
@RunWith(value = Parameterized::class)
@RunWith(value = JUnitParameterizedWithIdeaConfigurationRunner::class)
abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() {
protected var sdkCreationChecker : KotlinSdkCreationChecker? = null