mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-04-20 00:21:29 +00:00
[Gradle, JS] Fix parallel tasks test
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user