[Gradle][MPP] Add test cases for KotlinTargetHierarchy*
^KT-53570 Verification Pending
This commit is contained in:
committed by
Space Team
parent
da8a18920d
commit
1a519a8159
+48
@@ -189,6 +189,54 @@ class KotlinTargetHierarchyDescriptorTest {
|
|||||||
cycleStack
|
cycleStack
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `test - filterCompilations`() {
|
||||||
|
val descriptor = KotlinTargetHierarchyDescriptor {
|
||||||
|
filterCompilations { it.name in setOf("a", "b") }
|
||||||
|
common {
|
||||||
|
group("x") {
|
||||||
|
includeCompilationIf { true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
hierarchy {
|
||||||
|
group("common") {
|
||||||
|
group("x")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
descriptor.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.maybeCreate("a"))
|
||||||
|
)
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
descriptor.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.maybeCreate("a")),
|
||||||
|
descriptor.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.maybeCreate("b"))
|
||||||
|
)
|
||||||
|
|
||||||
|
assertNull(
|
||||||
|
descriptor.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.maybeCreate("c"))
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `test - filterCompilations - include them again`() {
|
||||||
|
val descriptor = KotlinTargetHierarchyDescriptor {
|
||||||
|
includeCompilationIf { true }
|
||||||
|
filterCompilations { it.name == "a" }
|
||||||
|
}
|
||||||
|
|
||||||
|
assertNotNull(descriptor.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.maybeCreate("a")))
|
||||||
|
assertNull(descriptor.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.maybeCreate("b")))
|
||||||
|
|
||||||
|
val extended = descriptor.extend {
|
||||||
|
includeCompilationIf { true } // <- adds all compilations back again!
|
||||||
|
}
|
||||||
|
|
||||||
|
assertNull(descriptor.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.maybeCreate("b")))
|
||||||
|
assertNotNull(extended.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.maybeCreate("b")))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class TestHierarchyBuilder(private val node: Node) {
|
private class TestHierarchyBuilder(private val node: Node) {
|
||||||
|
|||||||
+17
-2
@@ -11,8 +11,9 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
|||||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchyDescriptor
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetHierarchyDescriptor
|
||||||
import kotlin.test.Test
|
import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.buildKotlinTargetHierarchy
|
||||||
import kotlin.test.assertEquals
|
import org.jetbrains.kotlin.gradle.plugin.mpp.targetHierarchy.naturalKotlinTargetHierarchy
|
||||||
|
import kotlin.test.*
|
||||||
|
|
||||||
class KotlinTargetHierarchyDslTest {
|
class KotlinTargetHierarchyDslTest {
|
||||||
|
|
||||||
@@ -177,6 +178,20 @@ class KotlinTargetHierarchyDslTest {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `test - hierarchy default - is only applied to main and test compilations`() {
|
||||||
|
assertNotNull(naturalKotlinTargetHierarchy.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.main))
|
||||||
|
assertNotNull(naturalKotlinTargetHierarchy.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.test))
|
||||||
|
assertNull(naturalKotlinTargetHierarchy.buildKotlinTargetHierarchy(kotlin.linuxX64().compilations.maybeCreate("custom")))
|
||||||
|
|
||||||
|
kotlin.targetHierarchy.default()
|
||||||
|
kotlin.linuxX64().compilations.maybeCreate("custom").defaultSourceSet.let { customSourceSet ->
|
||||||
|
if (customSourceSet.dependsOn.isNotEmpty()) {
|
||||||
|
fail("Expected no dependsOn SourceSets for $customSourceSet (${customSourceSet.dependsOn})")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `test - hierarchy apply - extend`() {
|
fun `test - hierarchy apply - extend`() {
|
||||||
val descriptor = KotlinTargetHierarchyDescriptor {
|
val descriptor = KotlinTargetHierarchyDescriptor {
|
||||||
|
|||||||
Reference in New Issue
Block a user