diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIT.kt index 545cc23f084..55f44536287 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/KotlinAndroidIT.kt @@ -166,6 +166,7 @@ class KotlinAndroidIT : KGPBaseTest() { agpVersion: String, jdkVersion: JdkVersions.ProvidedJdk, ) { + disabledOnWindowsWhenAgpVersionIsLowerThan(agpVersion, "7.4.0", "Lint leaves opened file descriptors") project( "AndroidProject", gradleVersion, 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 f976ddf2016..a6d5411f1ee 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 @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.tooling.BuildKotlinToolingMetadataTask import org.jetbrains.kotlin.gradle.util.AGPVersion import org.jetbrains.kotlin.gradle.util.testResolveAllConfigurations -import org.junit.jupiter.api.Disabled import org.junit.jupiter.api.DisplayName import java.io.File import java.nio.file.Files @@ -542,6 +541,7 @@ class KotlinAndroidMppIT : KGPBaseTest() { agpVersion: String, jdkVersion: JdkVersions.ProvidedJdk, ) { + disabledOnWindowsWhenAgpVersionIsLowerThan(agpVersion, "7.4.0", "Lint leaves opened file descriptors") project( "AndroidProject", gradleVersion, diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/androidConditions.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/androidConditions.kt new file mode 100644 index 00000000000..cc5a1e407df --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/androidConditions.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.gradle.testbase + +import org.gradle.util.internal.VersionNumber +import org.junit.jupiter.api.Assumptions.assumeFalse +import org.junit.jupiter.api.condition.OS + +fun disabledOnWindowsWhenAgpVersionIsLowerThan(currentAgpVersion: String, minimalAgpVersion: String, reason: String? = null) { + // isn't implemented via JUnit extension API because it doesn't allow accessing test parameters + // see https://github.com/junit-team/junit5/issues/1139 + assumeFalse( + OS.WINDOWS.isCurrentOs && VersionNumber.parse(currentAgpVersion) < VersionNumber.parse(minimalAgpVersion), + reason ?: "Disabled on Windows because $currentAgpVersion is lower than $minimalAgpVersion" + ) +} \ No newline at end of file