[Gradle, JS] Fix parallel tasks test

This commit is contained in:
Ilya Goncharov
2020-01-30 16:24:57 +03:00
parent 40f5663a57
commit 5ff07baf53
2 changed files with 26 additions and 11 deletions

View File

@@ -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)

View File

@@ -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)