[Gradle, JS] Fix parallel tasks test
This commit is contained in:
+7
-1
@@ -11,6 +11,7 @@ import org.jdom.output.Format
|
|||||||
import org.jdom.output.XMLOutputter
|
import org.jdom.output.XMLOutputter
|
||||||
import org.jetbrains.kotlin.gradle.model.ModelContainer
|
import org.jetbrains.kotlin.gradle.model.ModelContainer
|
||||||
import org.jetbrains.kotlin.gradle.model.ModelFetcherBuildAction
|
import org.jetbrains.kotlin.gradle.model.ModelFetcherBuildAction
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.JsMode
|
||||||
import org.jetbrains.kotlin.gradle.util.*
|
import org.jetbrains.kotlin.gradle.util.*
|
||||||
import org.jetbrains.kotlin.test.util.trimTrailingWhitespaces
|
import org.jetbrains.kotlin.test.util.trimTrailingWhitespaces
|
||||||
import org.junit.After
|
import org.junit.After
|
||||||
@@ -210,7 +211,8 @@ abstract class BaseGradleIT {
|
|||||||
val usePreciseJavaTracking: Boolean? = null,
|
val usePreciseJavaTracking: Boolean? = null,
|
||||||
val withBuildCache: Boolean = false,
|
val withBuildCache: Boolean = false,
|
||||||
val kaptOptions: KaptOptions? = null,
|
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)
|
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")
|
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):
|
// Workaround: override a console type set in the user machine gradle.properties (since Gradle 4.3):
|
||||||
add("--console=plain")
|
add("--console=plain")
|
||||||
addAll(options.freeCommandLineArgs)
|
addAll(options.freeCommandLineArgs)
|
||||||
|
|||||||
+19
-10
@@ -14,11 +14,15 @@ class WorkersIT : BaseGradleIT() {
|
|||||||
fun testParallelTasks() {
|
fun testParallelTasks() {
|
||||||
parallelTasksImpl(
|
parallelTasksImpl(
|
||||||
isParallel = true,
|
isParallel = true,
|
||||||
jsIr = true
|
jsMode = JsMode.LEGACY
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testParallelTasksJsIr() {
|
||||||
parallelTasksImpl(
|
parallelTasksImpl(
|
||||||
isParallel = true,
|
isParallel = true,
|
||||||
jsIr = false
|
jsMode = JsMode.IR
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,24 +30,29 @@ class WorkersIT : BaseGradleIT() {
|
|||||||
fun testNoParallelTasks() {
|
fun testNoParallelTasks() {
|
||||||
parallelTasksImpl(
|
parallelTasksImpl(
|
||||||
isParallel = false,
|
isParallel = false,
|
||||||
jsIr = true
|
jsMode = JsMode.LEGACY
|
||||||
)
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testNoParallelTasksJsIr() {
|
||||||
parallelTasksImpl(
|
parallelTasksImpl(
|
||||||
isParallel = false,
|
isParallel = false,
|
||||||
jsIr = false
|
jsMode = JsMode.IR
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun parallelTasksImpl(
|
private fun parallelTasksImpl(
|
||||||
isParallel: Boolean,
|
isParallel: Boolean,
|
||||||
jsIr: Boolean
|
jsMode: JsMode
|
||||||
) =
|
) =
|
||||||
with(Project("new-mpp-parallel")) {
|
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"
|
val traceLoading = "-Dorg.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.trace.loading=true"
|
||||||
if (!jsIr) {
|
|
||||||
gradleProperties().appendText(jsMode(JsMode.LEGACY))
|
|
||||||
}
|
|
||||||
build("assemble", traceLoading, options = options) {
|
build("assemble", traceLoading, options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
val tasks = arrayOf(":compileKotlinMetadata", ":compileKotlinJvm", ":compileKotlinJs")
|
val tasks = arrayOf(":compileKotlinMetadata", ":compileKotlinJvm", ":compileKotlinJs")
|
||||||
@@ -56,7 +65,7 @@ class WorkersIT : BaseGradleIT() {
|
|||||||
kotlinClassesDir(sourceSet = "metadata/main") + "common/A.kotlin_metadata",
|
kotlinClassesDir(sourceSet = "metadata/main") + "common/A.kotlin_metadata",
|
||||||
kotlinClassesDir(sourceSet = "jvm/main") + "common/A.class",
|
kotlinClassesDir(sourceSet = "jvm/main") + "common/A.class",
|
||||||
kotlinClassesDir(sourceSet = "js/main") +
|
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) }
|
expectedKotlinOutputFiles.forEach { assertFileExists(it) }
|
||||||
assertSubstringCount("Loaded GradleKotlinCompilerWork", 1)
|
assertSubstringCount("Loaded GradleKotlinCompilerWork", 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user