[Gradle] Disable Android lint tests on Windows

Lint leaves some file descriptors opened leading to test failure on Windows. See https://android.googlesource.com/platform/tools/base/+/be16b7622a15073725ef1c1555d78cce9fa8a795 for the fix.
#KT-45748 In Progress
This commit is contained in:
Alexander Likhachev
2022-10-26 11:40:38 +02:00
committed by Space Team
parent 3fee07207e
commit bdedc36ed3
3 changed files with 21 additions and 1 deletions
@@ -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,
@@ -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,
@@ -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"
)
}