Support parallelization in another IDE tests
This commit is contained in:
@@ -28,7 +28,7 @@ import org.gradle.kotlin.dsl.task
|
|||||||
import java.lang.Character.isLowerCase
|
import java.lang.Character.isLowerCase
|
||||||
import java.lang.Character.isUpperCase
|
import java.lang.Character.isUpperCase
|
||||||
|
|
||||||
fun Project.projectTest(taskName: String = "test", body: Test.() -> Unit = {}): Test = getOrCreateTask(taskName) {
|
fun Project.projectTest(taskName: String = "test", parallel: Boolean = true, body: Test.() -> Unit = {}): Test = getOrCreateTask(taskName) {
|
||||||
doFirst {
|
doFirst {
|
||||||
val commandLineIncludePatterns = (filter as? DefaultTestFilter)?.commandLineIncludePatterns ?: emptySet()
|
val commandLineIncludePatterns = (filter as? DefaultTestFilter)?.commandLineIncludePatterns ?: emptySet()
|
||||||
val patterns = filter.includePatterns + commandLineIncludePatterns
|
val patterns = filter.includePatterns + commandLineIncludePatterns
|
||||||
@@ -105,6 +105,9 @@ fun Project.projectTest(taskName: String = "test", body: Test.() -> Unit = {}):
|
|||||||
systemProperty("java.io.tmpdir", it)
|
systemProperty("java.io.tmpdir", it)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (parallel) {
|
||||||
|
maxParallelForks = Math.max(Runtime.getRuntime().availableProcessors() / 2, 1)
|
||||||
|
}
|
||||||
body()
|
body()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ dependencies {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,3 @@
|
|||||||
tasks.withType<Test> {
|
|
||||||
maxParallelForks = Math.max(Runtime.getRuntime().availableProcessors() / 2, 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
kotlin("jvm")
|
kotlin("jvm")
|
||||||
id("jps-compatible")
|
id("jps-compatible")
|
||||||
@@ -177,7 +173,7 @@ val performanceTest by run {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
dependsOn(":dist")
|
dependsOn(":dist")
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ sourceSets {
|
|||||||
"test" { projectDefault() }
|
"test" { projectDefault() }
|
||||||
}
|
}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
dependsOn(":dist")
|
dependsOn(":dist")
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ sourceSets {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
useAndroidSdk()
|
useAndroidSdk()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ sourceSets {
|
|||||||
|
|
||||||
testsJar()
|
testsJar()
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
useAndroidSdk()
|
useAndroidSdk()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ sourceSets {
|
|||||||
|
|
||||||
testsJar()
|
testsJar()
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = false) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
useAndroidSdk()
|
useAndroidSdk()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ if (Ide.IJ()) {
|
|||||||
|
|
||||||
testsJar()
|
testsJar()
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -50,9 +50,13 @@ import org.jetbrains.kotlin.platform.impl.*
|
|||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.resolve.TargetPlatform
|
import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||||
|
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
||||||
|
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
|
import org.junit.runner.RunWith
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
|
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
|
||||||
class KotlinMavenImporterTest : MavenImportingTestCase() {
|
class KotlinMavenImporterTest : MavenImportingTestCase() {
|
||||||
private val kotlinVersion = "1.1.3"
|
private val kotlinVersion = "1.1.3"
|
||||||
|
|
||||||
|
|||||||
@@ -9,17 +9,22 @@ import com.intellij.openapi.application.runReadAction
|
|||||||
import com.intellij.openapi.application.runWriteAction
|
import com.intellij.openapi.application.runWriteAction
|
||||||
import com.intellij.psi.PsiDocumentManager
|
import com.intellij.psi.PsiDocumentManager
|
||||||
import com.intellij.psi.PsiManager
|
import com.intellij.psi.PsiManager
|
||||||
|
import com.intellij.testFramework.TestDataPath
|
||||||
import com.intellij.util.concurrency.FutureResult
|
import com.intellij.util.concurrency.FutureResult
|
||||||
import org.jetbrains.kotlin.config.ApiVersion
|
import org.jetbrains.kotlin.config.ApiVersion
|
||||||
import org.jetbrains.kotlin.config.LanguageVersion
|
import org.jetbrains.kotlin.config.LanguageVersion
|
||||||
import org.jetbrains.kotlin.idea.configuration.KotlinMigrationProjectComponent
|
import org.jetbrains.kotlin.idea.configuration.KotlinMigrationProjectComponent
|
||||||
import org.jetbrains.kotlin.idea.configuration.MigrationInfo
|
import org.jetbrains.kotlin.idea.configuration.MigrationInfo
|
||||||
|
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
||||||
|
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||||
import org.jetbrains.kotlin.test.testFramework.runInEdtAndWait
|
import org.jetbrains.kotlin.test.testFramework.runInEdtAndWait
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
|
import org.junit.runner.RunWith
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import java.util.concurrent.TimeoutException
|
import java.util.concurrent.TimeoutException
|
||||||
|
|
||||||
|
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
|
||||||
class MavenMigrateTest : MavenImportingTestCase() {
|
class MavenMigrateTest : MavenImportingTestCase() {
|
||||||
override fun setUp() {
|
override fun setUp() {
|
||||||
super.setUp()
|
super.setUp()
|
||||||
|
|||||||
+4
@@ -24,12 +24,16 @@ import com.intellij.openapi.vfs.VirtualFile
|
|||||||
import com.intellij.rt.execution.junit.FileComparisonFailure
|
import com.intellij.rt.execution.junit.FileComparisonFailure
|
||||||
import com.intellij.testFramework.fixtures.CodeInsightTestFixture
|
import com.intellij.testFramework.fixtures.CodeInsightTestFixture
|
||||||
import com.intellij.testFramework.fixtures.IdeaTestFixtureFactory
|
import com.intellij.testFramework.fixtures.IdeaTestFixtureFactory
|
||||||
|
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners
|
||||||
|
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.testFramework.runInEdtAndWait
|
import org.jetbrains.kotlin.test.testFramework.runInEdtAndWait
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
import org.junit.runner.RunWith
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.reflect.KMutableProperty0
|
import kotlin.reflect.KMutableProperty0
|
||||||
|
|
||||||
|
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
|
||||||
class MavenUpdateConfigurationQuickFixTest : MavenImportingTestCase() {
|
class MavenUpdateConfigurationQuickFixTest : MavenImportingTestCase() {
|
||||||
private lateinit var codeInsightTestFixture: CodeInsightTestFixture
|
private lateinit var codeInsightTestFixture: CodeInsightTestFixture
|
||||||
|
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ sourceSets {
|
|||||||
"test" { projectDefault() }
|
"test" { projectDefault() }
|
||||||
}
|
}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
dependsOn(":dist")
|
dependsOn(":dist")
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ sourceSets {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
// do not replace with compile/runtime dependency,
|
// do not replace with compile/runtime dependency,
|
||||||
// because it forces Intellij reindexing after each compiler change
|
// because it forces Intellij reindexing after each compiler change
|
||||||
dependsOn(":kotlin-compiler:dist")
|
dependsOn(":kotlin-compiler:dist")
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ dependencies {
|
|||||||
runtime(projectRuntimeJar(":kotlin-compiler-embeddable"))
|
runtime(projectRuntimeJar(":kotlin-compiler-embeddable"))
|
||||||
}
|
}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
workingDir = projectDir
|
workingDir = projectDir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,6 @@ testsJar {}
|
|||||||
|
|
||||||
dist(targetName = the<BasePluginConvention>().archivesBaseName.removePrefix("kotlin-") + ".jar")
|
dist(targetName = the<BasePluginConvention>().archivesBaseName.removePrefix("kotlin-") + ".jar")
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ sourceSets {
|
|||||||
|
|
||||||
testsJar {}
|
testsJar {}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
dependsOn(":kotlin-android-extensions-runtime:dist")
|
dependsOn(":kotlin-android-extensions-runtime:dist")
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
useAndroidSdk()
|
useAndroidSdk()
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ sourceSets {
|
|||||||
|
|
||||||
testsJar {}
|
testsJar {}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
dependsOn(":dist")
|
dependsOn(":dist")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,3 +23,7 @@ sourceSets {
|
|||||||
}
|
}
|
||||||
|
|
||||||
runtimeJar()
|
runtimeJar()
|
||||||
|
|
||||||
|
projectTest(parallel = true) {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -36,6 +36,6 @@ testsJar()
|
|||||||
|
|
||||||
dist(targetName = the<BasePluginConvention>().archivesBaseName.removePrefix("kotlin-") + ".jar")
|
dist(targetName = the<BasePluginConvention>().archivesBaseName.removePrefix("kotlin-") + ".jar")
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ dist {
|
|||||||
rename("kotlin-", "")
|
rename("kotlin-", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
dependsOn(":kotlin-stdlib:jvm-minimal-for-test:dist")
|
dependsOn(":kotlin-stdlib:jvm-minimal-for-test:dist")
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ sourceSets {
|
|||||||
"test" { projectDefault() }
|
"test" { projectDefault() }
|
||||||
}
|
}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,6 @@ sourceSets {
|
|||||||
|
|
||||||
testsJar {}
|
testsJar {}
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = false) {
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user