From d74a1133e90645e8a73326da82901f9f4ce1902c Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Mon, 16 Oct 2023 19:17:38 +0200 Subject: [PATCH] [Gradle] Merge `testCommonizer` and `testCleanCommonizationWithConfigurationCache` They are essentially testing the same thing. So it is logical to merge them into single test run. ^KT-61359 Verification Pending --- .../jetbrains/kotlin/gradle/CommonizerIT.kt | 34 +----------------- .../kotlin/gradle/ConfigurationCacheIT.kt | 36 ++++++++++++------- .../build.gradle.kts | 13 ------- .../src/nativeMain/kotlin/Main.kt | 5 --- .../lib/src/commonMain/kotlin/Foo.kt | 5 ++- 5 files changed, 29 insertions(+), 64 deletions(-) delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonizeNativeDistributionWithConfigurationCache/build.gradle.kts delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonizeNativeDistributionWithConfigurationCache/src/nativeMain/kotlin/Main.kt diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt index 171203ae177..d691fe4c580 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CommonizerIT.kt @@ -65,7 +65,7 @@ open class CommonizerIT : KGPBaseTest() { @DisplayName("Clean commonized native distribution") @GradleTest fun testCleanNativeDistributionCommonization(gradleVersion: GradleVersion, @TempDir konanData: Path) { - nativeProject("commonizeNativeDistributionWithConfigurationCache", gradleVersion) { + nativeProject("commonizeNativeDistributionWithIosLinuxWindows", gradleVersion) { val buildOptions = defaultBuildOptions.copy( konanDataDir = konanData ) @@ -90,38 +90,6 @@ open class CommonizerIT : KGPBaseTest() { } } - @DisplayName("KT-61359: commonize native distribution and compile with configuration cache") - @GradleTestVersions(minVersion = TestVersions.Gradle.G_7_4) - @GradleTest - fun testCleanCommonizationWithConfigurationCache(gradleVersion: GradleVersion) { - project("commonizeNativeDistributionWithConfigurationCache", gradleVersion) { - val buildOptionsWithConfigurationCache = buildOptions.copy(configurationCache = true) - // Clean native distribution -> capture configuration cache state - build(":cleanNativeDistributionCommonization") - build(":compileNativeMainKotlinMetadata", buildOptions = buildOptionsWithConfigurationCache) { - assertTasksExecuted(":commonizeNativeDistribution") - assertTasksExecuted(":compileNativeMainKotlinMetadata") - assertConfigurationCacheStored() - } - - // Clean task outputs -> reuse configuration cache - build(":clean") - build(":compileNativeMainKotlinMetadata", buildOptions = buildOptionsWithConfigurationCache) { - assertTasksUpToDate(":commonizeNativeDistribution") - assertTasksExecuted(":compileNativeMainKotlinMetadata") - assertConfigurationCacheReused() - } - - // full clean -> reuse configuration cache - build("clean", ":cleanNativeDistributionCommonization") - build(":compileNativeMainKotlinMetadata", buildOptions = buildOptionsWithConfigurationCache) { - assertTasksExecuted(":commonizeNativeDistribution") - assertTasksExecuted(":compileNativeMainKotlinMetadata") - assertConfigurationCacheReused() - } - } - } - @DisplayName("Commonize Curl Interop UP-TO-DATE check") @GradleTest fun testCommonizeCurlInteropUTDCheck(gradleVersion: GradleVersion) { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt index 730dc47bdb2..3fab495d11f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ConfigurationCacheIT.kt @@ -88,22 +88,34 @@ class ConfigurationCacheIT : AbstractConfigurationCacheIT() { @GradleTest fun testCommonizer(gradleVersion: GradleVersion, @TempDir konanHome: Path) { project("native-configuration-cache", gradleVersion) { - build( - ":commonizeNativeDistribution", - ) { - assertOutputContains("0 problems were found storing the configuration cache.") + val buildOptions = defaultBuildOptions.copy(konanDataDir = konanHome) + build(":lib:compileCommonMainKotlinMetadata", buildOptions = buildOptions) { + assertTasksExecuted(":commonizeNativeDistribution") + assertTasksExecuted(":lib:compileCommonMainKotlinMetadata") + assertConfigurationCacheStored() } - // Override kotlin native home location to be able to run clean native distribution commonization task - // since by default it is global location on host - val buildOptions = defaultBuildOptions.copy( - freeArgs = listOf("-Porg.jetbrains.kotlin.native.home=$konanHome"), - konanDataDir = null - ) - build(":cleanNativeDistributionCommonization", buildOptions = buildOptions) { - assertOutputContains("0 problems were found storing the configuration cache.") + build("clean", ":cleanNativeDistributionCommonization", buildOptions = buildOptions) { + assertTasksExecuted(":cleanNativeDistributionCommonization") + assertConfigurationCacheStored() } + build(":lib:compileCommonMainKotlinMetadata", buildOptions = buildOptions) { + assertTasksExecuted(":commonizeNativeDistribution") + assertTasksExecuted(":lib:compileCommonMainKotlinMetadata") + assertConfigurationCacheReused() + } + } + } + + @NativeGradlePluginTests + @GradleTestVersions( + minVersion = TestVersions.Gradle.G_7_4, + additionalVersions = [TestVersions.Gradle.G_7_6], + ) + @GradleTest + fun testCInteropCommonizer(gradleVersion: GradleVersion) { + project("native-configuration-cache", gradleVersion) { testConfigurationCacheOf(":lib:commonizeCInterop") } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonizeNativeDistributionWithConfigurationCache/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonizeNativeDistributionWithConfigurationCache/build.gradle.kts deleted file mode 100644 index 71b0e23151e..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonizeNativeDistributionWithConfigurationCache/build.gradle.kts +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -repositories { - mavenLocal() - mavenCentral() -} - -kotlin { - linuxX64() - linuxArm64() -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonizeNativeDistributionWithConfigurationCache/src/nativeMain/kotlin/Main.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonizeNativeDistributionWithConfigurationCache/src/nativeMain/kotlin/Main.kt deleted file mode 100644 index b01a2121c77..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/commonizeNativeDistributionWithConfigurationCache/src/nativeMain/kotlin/Main.kt +++ /dev/null @@ -1,5 +0,0 @@ -package lib - -fun main() { - platform.zlib.ZLIB_VERNUM -} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-configuration-cache/lib/src/commonMain/kotlin/Foo.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-configuration-cache/lib/src/commonMain/kotlin/Foo.kt index 7aceec515dd..012d286eb50 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-configuration-cache/lib/src/commonMain/kotlin/Foo.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-configuration-cache/lib/src/commonMain/kotlin/Foo.kt @@ -1,3 +1,6 @@ fun foo() = "bar" //+ my.cinterop.foo() -fun main() = println(foo()) \ No newline at end of file +fun main() { + platform.zlib.ZLIB_VERNUM + println(foo()) +} \ No newline at end of file