Support parallelization in another IDE tests

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