Parallelize idea-gradle tests
This commit is contained in:
+10
@@ -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()
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
|
||||
+2
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user