diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/AggregatingKotlinTestReportIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/AggregatingKotlinTestReportIT.kt index f31d051e903..7964a8eb38f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/AggregatingKotlinTestReportIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/AggregatingKotlinTestReportIT.kt @@ -9,6 +9,7 @@ import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.native.MPPNativeTargets import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.util.capitalize +import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.DisplayName @MppGradlePluginTests @@ -94,4 +95,55 @@ class AggregatingKotlinTestReportIT : KGPBaseTest() { } } } + + @DisplayName("Test tasks are up-to-date when called after `allTests`") + @GradleTest + @Disabled + fun testSuccessfulTestTasksAreUpToDate(gradleVersion: GradleVersion) { + project( + "new-mpp-lib-with-tests", + gradleVersion, + buildOptions = defaultBuildOptions.copy(freeArgs = listOf("-Pkotlin.tests.individualTaskReports=false")) + ) { + val nativeTarget = MPPNativeTargets.current + + build(":allTests") { + assertTasksExecuted( + ":jsNodeTest", + ":jsTest", + ":jvmWithoutJavaTest", + ":${nativeTarget}Test", + ":allTests", + ) + } + + build(":allTests") { + assertTasksUpToDate( + ":jsNodeTest", + ":jsTest", + ":jvmWithoutJavaTest", + ":${nativeTarget}Test", + ":allTests", + ) + } + + build(":jvmWithoutJavaTest") { + assertTasksUpToDate( + ":jvmWithoutJavaTest", + ) + } + + build(":jsTest") { + assertTasksUpToDate( + ":jsNodeTest", + ) + } + + build(":${nativeTarget}Test") { + assertTasksUpToDate( + ":${nativeTarget}Test", + ) + } + } + } } \ No newline at end of file