[MPP] Add a test for configuration avoidance between CommonizeCInterop
and CInterop tasks ^KT-58712
This commit is contained in:
committed by
Space Team
parent
a1db10c5fe
commit
e59371d291
+20
@@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.unitTests
|
package org.jetbrains.kotlin.gradle.unitTests
|
||||||
|
|
||||||
|
import org.gradle.api.GradleException
|
||||||
import org.jetbrains.kotlin.commonizer.CommonizerTarget
|
import org.jetbrains.kotlin.commonizer.CommonizerTarget
|
||||||
import org.jetbrains.kotlin.commonizer.SharedCommonizerTarget
|
import org.jetbrains.kotlin.commonizer.SharedCommonizerTarget
|
||||||
import org.jetbrains.kotlin.gradle.util.MultiplatformExtensionTest
|
import org.jetbrains.kotlin.gradle.util.MultiplatformExtensionTest
|
||||||
@@ -15,6 +16,8 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
|||||||
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizerTask
|
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizerTask
|
||||||
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizerGroup
|
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizerGroup
|
||||||
import org.jetbrains.kotlin.gradle.targets.native.internal.commonizeCInteropTask
|
import org.jetbrains.kotlin.gradle.targets.native.internal.commonizeCInteropTask
|
||||||
|
import org.jetbrains.kotlin.gradle.util.enableCInteropCommonization
|
||||||
|
import org.jetbrains.kotlin.gradle.util.main
|
||||||
import org.jetbrains.kotlin.gradle.util.runLifecycleAwareTest
|
import org.jetbrains.kotlin.gradle.util.runLifecycleAwareTest
|
||||||
import org.jetbrains.kotlin.konan.target.KonanTarget.*
|
import org.jetbrains.kotlin.konan.target.KonanTarget.*
|
||||||
import kotlin.test.*
|
import kotlin.test.*
|
||||||
@@ -30,6 +33,23 @@ class CInteropCommonizerTaskTest : MultiplatformExtensionTest() {
|
|||||||
super.setup()
|
super.setup()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `commonizeCInteropTask configuration - avoids cinterop task configuration`() {
|
||||||
|
project.enableCInteropCommonization(true)
|
||||||
|
|
||||||
|
listOf(
|
||||||
|
kotlin.linuxX64().compilations.main.cinterops.create("anyInteropName"),
|
||||||
|
kotlin.macosX64().compilations.main.cinterops.create("anyInteropName"),
|
||||||
|
).forEach {
|
||||||
|
project.tasks.named(it.interopProcessingTaskName).configure {
|
||||||
|
fail("Interop task configuration should not avoided by commonizeCInteropTask configuration")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
project.commonizeCInteropTask?.get() ?: fail("Expected commonizeCInteropTask to be present")
|
||||||
|
project.evaluate()
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `nativeMain linux macos`() = project.runLifecycleAwareTest {
|
fun `nativeMain linux macos`() = project.runLifecycleAwareTest {
|
||||||
val linuxInterop = kotlin.linuxX64("linux").compilations.getByName("main").cinterops.create("anyInteropName")
|
val linuxInterop = kotlin.linuxX64("linux").compilations.getByName("main").cinterops.create("anyInteropName")
|
||||||
|
|||||||
Reference in New Issue
Block a user