From 5ff07baf5328c40e3262e3f6126593705511abc6 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Thu, 30 Jan 2020 16:24:57 +0300 Subject: [PATCH] [Gradle, JS] Fix parallel tasks test --- .../jetbrains/kotlin/gradle/BaseGradleIT.kt | 8 ++++- .../org/jetbrains/kotlin/gradle/WorkersIT.kt | 29 ++++++++++++------- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt index 6ef1ecca419..a0cf113c194 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt @@ -11,6 +11,7 @@ import org.jdom.output.Format import org.jdom.output.XMLOutputter import org.jetbrains.kotlin.gradle.model.ModelContainer import org.jetbrains.kotlin.gradle.model.ModelFetcherBuildAction +import org.jetbrains.kotlin.gradle.plugin.JsMode import org.jetbrains.kotlin.gradle.util.* import org.jetbrains.kotlin.test.util.trimTrailingWhitespaces import org.junit.After @@ -210,7 +211,8 @@ abstract class BaseGradleIT { val usePreciseJavaTracking: Boolean? = null, val withBuildCache: Boolean = false, val kaptOptions: KaptOptions? = null, - val parallelTasksInProject: Boolean? = null + val parallelTasksInProject: Boolean? = null, + val jsMode: JsMode? = null ) data class KaptOptions(val verbose: Boolean, val useWorkers: Boolean, val incrementalKapt: Boolean = false, val includeCompileClasspath: Boolean = true) @@ -762,6 +764,10 @@ Finished executing task ':$taskName'| add("-Pkotlin.parallel.tasks.in.project=$it") } + options.jsMode?.let { + add("-Pkotlin.js.mode=$it") + } + // Workaround: override a console type set in the user machine gradle.properties (since Gradle 4.3): add("--console=plain") addAll(options.freeCommandLineArgs) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/WorkersIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/WorkersIT.kt index f1d26a6b50f..9a240490ef6 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/WorkersIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/WorkersIT.kt @@ -14,11 +14,15 @@ class WorkersIT : BaseGradleIT() { fun testParallelTasks() { parallelTasksImpl( isParallel = true, - jsIr = true + jsMode = JsMode.LEGACY ) + } + + @Test + fun testParallelTasksJsIr() { parallelTasksImpl( isParallel = true, - jsIr = false + jsMode = JsMode.IR ) } @@ -26,24 +30,29 @@ class WorkersIT : BaseGradleIT() { fun testNoParallelTasks() { parallelTasksImpl( isParallel = false, - jsIr = true + jsMode = JsMode.LEGACY ) + } + + @Test + fun testNoParallelTasksJsIr() { parallelTasksImpl( isParallel = false, - jsIr = false + jsMode = JsMode.IR ) } private fun parallelTasksImpl( isParallel: Boolean, - jsIr: Boolean + jsMode: JsMode ) = with(Project("new-mpp-parallel")) { - val options = defaultBuildOptions().copy(parallelTasksInProject = isParallel, withDaemon = false) + val options = defaultBuildOptions().copy( + parallelTasksInProject = isParallel, + withDaemon = false, + jsMode = jsMode + ) val traceLoading = "-Dorg.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.trace.loading=true" - if (!jsIr) { - gradleProperties().appendText(jsMode(JsMode.LEGACY)) - } build("assemble", traceLoading, options = options) { assertSuccessful() val tasks = arrayOf(":compileKotlinMetadata", ":compileKotlinJvm", ":compileKotlinJs") @@ -56,7 +65,7 @@ class WorkersIT : BaseGradleIT() { kotlinClassesDir(sourceSet = "metadata/main") + "common/A.kotlin_metadata", kotlinClassesDir(sourceSet = "jvm/main") + "common/A.class", kotlinClassesDir(sourceSet = "js/main") + - if (jsIr) "manifest" else "new-mpp-parallel.js" + if (jsMode == JsMode.IR) "manifest" else "new-mpp-parallel.js" ) expectedKotlinOutputFiles.forEach { assertFileExists(it) } assertSubstringCount("Loaded GradleKotlinCompilerWork", 1)