Skip to content

Commit 2ebcdf4

Browse files
AYastrebovSpace Team
authored andcommitted
[Gradle] Add IT to check binary configuration diagnostic
^KT-81359
1 parent a27f199 commit 2ebcdf4

File tree

1 file changed

+35
-1
lines changed
  • libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native

1 file changed

+35
-1
lines changed

libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/KotlinNativeLinkIT.kt

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,13 @@
55

66
package org.jetbrains.kotlin.gradle.native
77

8+
import org.gradle.kotlin.dsl.kotlin
9+
import org.gradle.kotlin.dsl.withType
810
import org.gradle.util.GradleVersion
9-
import org.jetbrains.kotlin.gradle.dsl.NativeCacheKind
11+
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
12+
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeLink
1013
import org.jetbrains.kotlin.gradle.testbase.*
14+
import org.jetbrains.kotlin.gradle.uklibs.applyMultiplatform
1115
import org.junit.jupiter.api.DisplayName
1216
import org.junit.jupiter.api.condition.OS
1317
import kotlin.io.path.appendText
@@ -88,4 +92,34 @@ internal class KotlinNativeLinkIT : KGPBaseTest() {
8892
}
8993
}
9094
}
95+
96+
@DisplayName("KT-81359 IncompatibleBinaryConfiguration diagnostic is not triggered for tasks configuration")
97+
@GradleTest
98+
fun testIncompatibleBinaryConfigurationDiagnostic(gradleVersion: GradleVersion) {
99+
project("empty", gradleVersion) {
100+
plugins {
101+
kotlin("multiplatform")
102+
}
103+
buildScriptInjection {
104+
project.applyMultiplatform {
105+
linuxX64 {
106+
binaries.staticLib()
107+
}
108+
109+
sourceSets.commonMain.get().compileStubSourceWithSourceSetName()
110+
}
111+
112+
project.tasks.withType<KotlinNativeLink>().configureEach { link ->
113+
link.binary.debuggable = true
114+
link.binary.optimized = true
115+
}
116+
}
117+
118+
build(":linkDebugStaticLinuxX64") {
119+
assertHasDiagnostic(KotlinToolingDiagnostics.IncompatibleBinaryTaskConfiguration)
120+
assertNoDiagnostic(KotlinToolingDiagnostics.IncompatibleBinaryConfiguration)
121+
assertOutputContains("w: Unsupported combination of flags: -opt and -g. Please pick one.")
122+
}
123+
}
124+
}
91125
}

0 commit comments

Comments
 (0)