From 16c17d3c227bd85720f5dd17bdd7fe4318eb907f Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Sun, 15 Oct 2023 22:44:37 +0200 Subject: [PATCH] [Gradle] Check that commonized native distribution can be cleaned ^KT-62611 In-Progress --- .../jetbrains/kotlin/gradle/CommonizerIT.kt | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) 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 dedc67a74ed..1f62e214761 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 @@ -14,9 +14,12 @@ import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.util.replaceText import org.jetbrains.kotlin.gradle.util.reportSourceSetCommonizerDependencies import org.jetbrains.kotlin.incremental.testingUtils.assertEqualDirectories +import org.jetbrains.kotlin.konan.library.KONAN_DISTRIBUTION_COMMONIZED_LIBS_DIR import org.jetbrains.kotlin.konan.target.HostManager import org.jetbrains.kotlin.konan.target.KonanTarget.* import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.io.TempDir +import java.nio.file.Path import kotlin.io.path.* import kotlin.test.assertTrue import kotlin.test.fail @@ -59,6 +62,34 @@ open class CommonizerIT : KGPBaseTest() { } } + @DisplayName("Clean commonized native distribution") + @GradleTest + fun testCleanNativeDistributionCommonization(gradleVersion: GradleVersion, @TempDir konanData: Path) { + nativeProject("commonizeNativeDistributionWithConfigurationCache", gradleVersion) { + val buildOptions = defaultBuildOptions.copy( + konanDataDir = konanData + ) + + fun commonizationResultFilesCount() = konanData + .walk() + .filter { it.contains(Path(KONAN_DISTRIBUTION_COMMONIZED_LIBS_DIR)) } + .count() + + build(":cleanNativeDistributionCommonization", buildOptions = buildOptions) { + assertTasksExecuted(":cleanNativeDistributionCommonization") + } + build(":commonizeNativeDistribution", buildOptions = buildOptions) { + assertTasksExecuted(":commonizeNativeDistribution") + if (commonizationResultFilesCount() == 0) fail("Expected some files after executing commonizeNativeDistribution") + } + + build(":cleanNativeDistributionCommonization", buildOptions = buildOptions) { + assertTasksExecuted(":cleanNativeDistributionCommonization") + if (commonizationResultFilesCount() != 1) fail("Expected only .lock file after cleaning") + } + } + } + @DisplayName("Commonize Curl Interop UP-TO-DATE check") @GradleTest fun testCommonizeCurlInteropUTDCheck(gradleVersion: GradleVersion) {