From bd84f933332eefdc16285b95b8cb259f0ec31262 Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Mon, 19 Feb 2024 09:30:54 +0100 Subject: [PATCH] [Gradle, Test] `makeSnapshotTo` should fail when called in TC env Developers (me) often forget to remove calls to this debugging utility. Usually this changes is visible during Code Review but we shouldn't rely on a sharp eye of a human. It is better to automatically check it during remote run execution. --- .../org/jetbrains/kotlin/gradle/android/KotlinAndroidMppIT.kt | 1 - .../org/jetbrains/kotlin/gradle/testbase/testHelpers.kt | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidMppIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidMppIT.kt index 122a09be449..0816e18620b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidMppIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidMppIT.kt @@ -446,7 +446,6 @@ class KotlinAndroidMppIT : KGPBaseTest() { } """.trimIndent() } - makeSnapshotTo("/tmp/111") build("publish") { listOf("foobar", "foobaz").forEach { flavor -> listOf("-debug", "").forEach { buildType -> diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testHelpers.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testHelpers.kt index 92188a1fba0..1790cd1a4f2 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testHelpers.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testHelpers.kt @@ -6,9 +6,11 @@ package org.jetbrains.kotlin.gradle.testbase import org.gradle.util.GradleVersion +import org.jetbrains.kotlin.gradle.util.isTeamCityRun import java.nio.file.Paths import java.nio.file.attribute.PosixFilePermission import kotlin.io.path.* +import kotlin.test.fail /** * Makes a snapshot of the current state of [TestProject] into [destinationPath]. @@ -19,6 +21,8 @@ import kotlin.io.path.* * To run task with the same build option as test - use `run.sh` (or `run.bat`) script. */ fun TestProject.makeSnapshotTo(destinationPath: String) { + if (isTeamCityRun) fail("Please remove `makeSnapshotTo()` call from test. It is utility for local debugging only!") + val dest = Paths .get(destinationPath) .resolve(projectName)