[Gradle][MPP] Implement additional InternalKotlinSourceSetTests

.. for withDependsOnClosure and compilations

^KT-52726 Verification Pending
This commit is contained in:
Sebastian Sellmair
2022-09-06 17:16:48 +02:00
committed by Space
parent a0d350fad4
commit 74b2285877
@@ -7,11 +7,16 @@
package org.jetbrains.kotlin.gradle.sources
import org.jetbrains.kotlin.gradle.buildProjectWithMPP
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.sources.InternalKotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.sources.internal
import org.jetbrains.kotlin.gradle.reflections
import kotlin.reflect.full.isSubclassOf
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.fail
class InternalKotlinSourceSetTest {
@@ -26,4 +31,84 @@ class InternalKotlinSourceSetTest {
}
}
}
@Test
fun `test - compilations - sample - 0`() {
val project = buildProjectWithMPP()
val kotlin = project.multiplatformExtension
val jvm = kotlin.jvm()
val linux = kotlin.linuxX64()
val macos = kotlin.macosX64()
val metadataCompilation = kotlin.metadata().compilations.getByName("main")
val jvmCompilation = jvm.compilations.getByName("main")
val linuxCompilation = linux.compilations.getByName("main")
val macosCompilation = macos.compilations.getByName("main")
val commonMain = kotlin.sourceSets.getByName("commonMain")
val linuxX4Main = kotlin.sourceSets.getByName("linuxX64Main")
val macosX64Main = kotlin.sourceSets.getByName("macosX64Main")
val nativeMain = kotlin.sourceSets.create("nativeMain")
nativeMain.dependsOn(commonMain)
assertEquals<Set<KotlinCompilation<*>>>(
setOf(metadataCompilation, jvmCompilation, linuxCompilation, macosCompilation),
commonMain.internal.compilations
)
assertEquals(
emptySet(),
nativeMain.internal.compilations
)
linuxX4Main.dependsOn(nativeMain)
assertEquals<Set<KotlinCompilation<*>>>(
setOf(linuxCompilation),
nativeMain.internal.compilations
)
macosX64Main.dependsOn(nativeMain)
assertEquals<Set<KotlinCompilation<*>>>(
setOf(linuxCompilation, macosCompilation),
nativeMain.internal.compilations
)
}
@Test
fun `test - withDependsOnClosure - sample - 0`() {
val project = buildProjectWithMPP()
val kotlin = project.multiplatformExtension
kotlin.linuxX64()
val commonMain = kotlin.sourceSets.getByName("commonMain")
val nativeMain = kotlin.sourceSets.create("nativeMain")
val linuxMain = kotlin.sourceSets.create("linuxMain")
val linuxX64Main = kotlin.sourceSets.getByName("linuxX64Main")
assertEquals(
setOf(commonMain, linuxX64Main),
linuxX64Main.internal.withDependsOnClosure
)
linuxX64Main.dependsOn(linuxMain)
assertEquals(
setOf(commonMain, linuxMain, linuxX64Main),
linuxX64Main.internal.withDependsOnClosure
)
linuxMain.dependsOn(nativeMain)
assertEquals(
setOf(commonMain, nativeMain, linuxMain, linuxX64Main),
linuxX64Main.internal.withDependsOnClosure
)
nativeMain.dependsOn(commonMain)
assertEquals(
setOf(commonMain, nativeMain, linuxMain, linuxX64Main),
linuxX64Main.internal.withDependsOnClosure
)
}
}