[Gradle, BT] Add IC integration tests for the build tools API mode
#KT-61865 Fixed
This commit is contained in:
committed by
Space Team
parent
3eaaed8e7f
commit
664b54de5f
+17
-1
@@ -338,6 +338,22 @@ abstract class IncrementalCompilationJvmMultiProjectWithPreciseBackupIT : Increm
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
||||
}
|
||||
|
||||
class IncrementalCompilationK2JvmMultiProjectBuildToolsApiDaemonIT : IncrementalCompilationJvmMultiProjectWithPreciseBackupIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(runViaBuildToolsApi = true, compilerExecutionStrategy = KotlinCompilerExecutionStrategy.DAEMON)
|
||||
|
||||
@Disabled("Doesn't make sense since Build Tools API supports incremental compilation for the in-process mode")
|
||||
override fun testMissingIncrementalState(gradleVersion: GradleVersion) {
|
||||
}
|
||||
}
|
||||
|
||||
class IncrementalCompilationK2JvmMultiProjectBuildToolsApiInProcessIT : IncrementalCompilationJvmMultiProjectWithPreciseBackupIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(runViaBuildToolsApi = true, compilerExecutionStrategy = KotlinCompilerExecutionStrategy.IN_PROCESS)
|
||||
|
||||
@Disabled("Doesn't make sense since Build Tools API supports incremental compilation for the in-process mode")
|
||||
override fun testMissingIncrementalState(gradleVersion: GradleVersion) {
|
||||
}
|
||||
}
|
||||
|
||||
class IncrementalCompilationK1JvmMultiProjectWithPreciseBackupIT : IncrementalCompilationJvmMultiProjectWithPreciseBackupIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copyEnsuringK1()
|
||||
}
|
||||
@@ -897,7 +913,7 @@ abstract class BaseIncrementalCompilationMultiProjectIT : IncrementalCompilation
|
||||
|
||||
@DisplayName("Test compilation when incremental state is missing")
|
||||
@GradleTest
|
||||
fun testMissingIncrementalState(gradleVersion: GradleVersion) {
|
||||
open fun testMissingIncrementalState(gradleVersion: GradleVersion) {
|
||||
defaultProject(gradleVersion) {
|
||||
// Perform the first non-incremental build without using Kotlin daemon so that incremental state is not produced
|
||||
build(
|
||||
|
||||
+51
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.gradle
|
||||
|
||||
import org.gradle.util.GradleVersion
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilerExecutionStrategy
|
||||
import org.jetbrains.kotlin.gradle.testbase.*
|
||||
import org.junit.jupiter.api.Disabled
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
@@ -122,6 +123,56 @@ class IncrementalK2JavaChangeDefaultIT : IncrementalJavaChangeDefaultIT() {
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("Default incremental compilation via Build Tools API")
|
||||
class IncrementalK2JavaChangeBuildToolsApiDaemonIT : IncrementalJavaChangeDefaultIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(runViaBuildToolsApi = true, compilerExecutionStrategy = KotlinCompilerExecutionStrategy.DAEMON)
|
||||
|
||||
@Disabled("KT-57147")
|
||||
override fun testAbiChangeInLib_changeMethodSignature_tracked(gradleVersion: GradleVersion) {
|
||||
super.testAbiChangeInLib_changeMethodSignature_tracked(gradleVersion)
|
||||
}
|
||||
|
||||
@Disabled("KT-57147")
|
||||
override fun testNonAbiChangeInLib_changeMethodBody_tracked(gradleVersion: GradleVersion) {
|
||||
super.testNonAbiChangeInLib_changeMethodBody_tracked(gradleVersion)
|
||||
}
|
||||
|
||||
@Disabled("KT-57147")
|
||||
override fun testAbiChangeInLib_changeMethodSignature(gradleVersion: GradleVersion) {
|
||||
super.testAbiChangeInLib_changeMethodSignature(gradleVersion)
|
||||
}
|
||||
|
||||
@Disabled("KT-57147")
|
||||
override fun testNonAbiChangeInLib_changeMethodBody(gradleVersion: GradleVersion) {
|
||||
super.testNonAbiChangeInLib_changeMethodBody(gradleVersion)
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("Incremental compilation via Build Tools API using in-process strategy")
|
||||
class IncrementalK2JavaChangeBuildToolsApiInProcessIT : IncrementalJavaChangeDefaultIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(runViaBuildToolsApi = true, compilerExecutionStrategy = KotlinCompilerExecutionStrategy.IN_PROCESS)
|
||||
|
||||
@Disabled("KT-57147")
|
||||
override fun testAbiChangeInLib_changeMethodSignature_tracked(gradleVersion: GradleVersion) {
|
||||
super.testAbiChangeInLib_changeMethodSignature_tracked(gradleVersion)
|
||||
}
|
||||
|
||||
@Disabled("KT-57147")
|
||||
override fun testNonAbiChangeInLib_changeMethodBody_tracked(gradleVersion: GradleVersion) {
|
||||
super.testNonAbiChangeInLib_changeMethodBody_tracked(gradleVersion)
|
||||
}
|
||||
|
||||
@Disabled("KT-57147")
|
||||
override fun testAbiChangeInLib_changeMethodSignature(gradleVersion: GradleVersion) {
|
||||
super.testAbiChangeInLib_changeMethodSignature(gradleVersion)
|
||||
}
|
||||
|
||||
@Disabled("KT-57147")
|
||||
override fun testNonAbiChangeInLib_changeMethodBody(gradleVersion: GradleVersion) {
|
||||
super.testNonAbiChangeInLib_changeMethodBody(gradleVersion)
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("Default incremental compilation with precise compilation outputs backup")
|
||||
abstract class IncrementalJavaChangePreciseCompilationBackupIT : IncrementalJavaChangeDefaultIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
||||
|
||||
+9
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle.android
|
||||
|
||||
import org.gradle.api.logging.LogLevel
|
||||
import org.gradle.util.GradleVersion
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilerExecutionStrategy
|
||||
import org.jetbrains.kotlin.gradle.testbase.*
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import kotlin.io.path.appendText
|
||||
@@ -181,4 +182,12 @@ open class KotlinAndroidIncrementalIT : KGPBaseTest() {
|
||||
|
||||
class KotlinAndroidIncrementalWithPreciseBackupIT : KotlinAndroidIncrementalIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(usePreciseOutputsBackup = true, keepIncrementalCompilationCachesInMemory = true)
|
||||
}
|
||||
|
||||
class KotlinAndroidIncrementalBuildToolsApiDaemonIT : KotlinAndroidIncrementalIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(runViaBuildToolsApi = true, compilerExecutionStrategy = KotlinCompilerExecutionStrategy.DAEMON)
|
||||
}
|
||||
|
||||
class KotlinAndroidIncrementalBuildToolsApiInProcessIT : KotlinAndroidIncrementalIT() {
|
||||
override val defaultBuildOptions = super.defaultBuildOptions.copy(runViaBuildToolsApi = true, compilerExecutionStrategy = KotlinCompilerExecutionStrategy.IN_PROCESS)
|
||||
}
|
||||
Reference in New Issue
Block a user