[Gradle] Add KotlinAndroidTargetVariantTypeDslImplTest to check refines edges
KT-34662
This commit is contained in:
committed by
Space Team
parent
40603bbda7
commit
b502f7cd03
+53
-3
@@ -3,19 +3,20 @@
|
|||||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@file:Suppress("FunctionName")
|
@file:Suppress("FunctionName", "DuplicatedCode")
|
||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.unitTests
|
package org.jetbrains.kotlin.gradle.unitTests
|
||||||
|
|
||||||
import junit.framework.TestCase.assertNull
|
import junit.framework.TestCase.assertNull
|
||||||
|
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
import org.jetbrains.kotlin.gradle.plugin.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.AfterFinaliseRefinesEdges
|
||||||
import org.jetbrains.kotlin.gradle.plugin.awaitFinalValue
|
import org.jetbrains.kotlin.gradle.plugin.awaitFinalValue
|
||||||
import org.jetbrains.kotlin.gradle.plugin.currentKotlinPluginLifecycle
|
import org.jetbrains.kotlin.gradle.plugin.currentKotlinPluginLifecycle
|
||||||
import org.jetbrains.kotlin.gradle.plugin.kotlinPluginLifecycle
|
import org.jetbrains.kotlin.gradle.plugin.kotlinPluginLifecycle
|
||||||
import org.jetbrains.kotlin.gradle.targets.android.KotlinAndroidTargetVariantTypeDslImpl
|
import org.jetbrains.kotlin.gradle.targets.android.KotlinAndroidTargetVariantTypeDslImpl
|
||||||
import org.jetbrains.kotlin.gradle.util.buildProjectWithMPP
|
import org.jetbrains.kotlin.gradle.util.*
|
||||||
import org.jetbrains.kotlin.gradle.util.runLifecycleAwareTest
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
import kotlin.test.assertFails
|
import kotlin.test.assertFails
|
||||||
@@ -51,4 +52,53 @@ class KotlinAndroidTargetVariantTypeDslImplTest {
|
|||||||
assertFails { dsl.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName("y")) }
|
assertFails { dsl.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName("y")) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `test - module - is respected in default refines edges`() {
|
||||||
|
val project = buildProject {
|
||||||
|
setMultiplatformAndroidSourceSetLayoutVersion(2)
|
||||||
|
applyMultiplatformPlugin()
|
||||||
|
androidLibrary { compileSdk = 33 }
|
||||||
|
}
|
||||||
|
|
||||||
|
val kotlin = project.multiplatformExtension
|
||||||
|
project.runLifecycleAwareTest {
|
||||||
|
kotlin.android {
|
||||||
|
unitTest.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName.test)
|
||||||
|
instrumentedTest.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName.test)
|
||||||
|
}
|
||||||
|
|
||||||
|
await(AfterFinaliseRefinesEdges)
|
||||||
|
|
||||||
|
assertEquals(setOf("commonTest"), kotlin.sourceSets.getByName("androidInstrumentedTest").dependsOn.map { it.name }.toSet())
|
||||||
|
assertEquals(setOf("commonTest"), kotlin.sourceSets.getByName("androidUnitTest").dependsOn.map { it.name }.toSet())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `test - module - is respected in targetHierarchy`() {
|
||||||
|
val project = buildProject {
|
||||||
|
setMultiplatformAndroidSourceSetLayoutVersion(2)
|
||||||
|
applyMultiplatformPlugin()
|
||||||
|
androidLibrary { compileSdk = 33 }
|
||||||
|
}
|
||||||
|
|
||||||
|
val kotlin = project.multiplatformExtension
|
||||||
|
project.runLifecycleAwareTest {
|
||||||
|
kotlin.android {
|
||||||
|
unitTest.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName("xxx"))
|
||||||
|
instrumentedTest.targetHierarchy.module.set(KotlinTargetHierarchy.ModuleName("yyy"))
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin.targetHierarchy.default {
|
||||||
|
withModule(KotlinTargetHierarchy.ModuleName("xxx"))
|
||||||
|
withModule(KotlinTargetHierarchy.ModuleName("yyy"))
|
||||||
|
}
|
||||||
|
|
||||||
|
await(AfterFinaliseRefinesEdges)
|
||||||
|
|
||||||
|
assertEquals(setOf("commonXxx"), kotlin.sourceSets.getByName("androidUnitTest").dependsOn.map { it.name }.toSet())
|
||||||
|
assertEquals(setOf("commonYyy"), kotlin.sourceSets.getByName("androidInstrumentedTest").dependsOn.map { it.name }.toSet())
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user