[Gradle] test that native compilation has platform dependencies

^KT-61559 Verification Pending
This commit is contained in:
Anton Lakotka
2023-11-28 00:19:36 +01:00
committed by Space Team
parent 599a6c7d6d
commit 32de4a6b2c
@@ -9,6 +9,7 @@ package org.jetbrains.kotlin.gradle.unitTests.compilerArgumetns
import org.jetbrains.kotlin.cli.common.arguments.K2NativeCompilerArguments
import org.jetbrains.kotlin.compilerRunner.ArgumentUtils
import org.jetbrains.kotlin.gradle.dependencyResolutionTests.mavenCentralCacheRedirector
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilerArgumentsProducer.CreateCompilerArgumentsContext.Companion.default
@@ -197,4 +198,27 @@ class KotlinNativeCompileArgumentsTest {
"Expected linuxX64 source file to be present in 'freeArgs'"
)
}
@Test
fun `native compilation dependency files should contain native platform dependencies`() {
val project = buildProjectWithMPP()
project.repositories.mavenLocal()
project.repositories.mavenCentralCacheRedirector()
val kotlin = project.multiplatformExtension
kotlin.linuxX64()
project.evaluate()
val nativeCompilation = kotlin.linuxX64().compilations.main
val expectedDependencies = listOf("iconv", "posix", "zlib", "linux", "builtin").map {
"org.jetbrains.kotlin.native.platform.$it"
}.toSet()
val actualDependencies = nativeCompilation.compileDependencyFiles
.map { it.name }
.toSet()
assertEquals(expectedDependencies, actualDependencies)
}
}