From 02c9afcb6f53898f7d560def102f363b4b7509e5 Mon Sep 17 00:00:00 2001 From: Kirill Shmakov Date: Mon, 25 Feb 2019 14:15:30 +0300 Subject: [PATCH] Last test --- .../kotlin/gradle/NewMultiplatformIT.kt | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt index 96ff5b09918..3e8df44952a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt @@ -25,23 +25,37 @@ import kotlin.test.assertEquals import kotlin.test.assertFalse import kotlin.test.assertTrue -class NewMultiplatformIT : BaseGradleIT() { - val gradleVersion = GradleVersionRequired.AtLeast("4.7") +data class NativeTargets(val current: String, val supported: List, val unsupported: List) - val nativeHostTargetName = when { +fun configure(): NativeTargets { + val all = listOf("linux64", "macos64", "mingw64", "wasm32") + + val current = when { HostManager.hostIsMingw -> "mingw64" HostManager.hostIsLinux -> "linux64" HostManager.hostIsMac -> "macos64" else -> error("Unknown host") } - val supportedNativeTargets = when { - HostManager.hostIsMingw -> listOf("linux64", "mingw64", "wasm32") - HostManager.hostIsLinux -> listOf("linux64", "mingw64", "wasm32") - HostManager.hostIsMac -> listOf("linux64", "macos64", "wasm32") + val unsupported = when { + HostManager.hostIsMingw -> listOf("macos64") + HostManager.hostIsLinux -> listOf("macos64", "mingw64") + HostManager.hostIsMac -> listOf("mingw64") else -> error("Unknown host") } + val supported = all.filter { !unsupported.contains(it) } + + return NativeTargets(current, supported, unsupported) +} + +class NewMultiplatformIT : BaseGradleIT() { + val gradleVersion = GradleVersionRequired.AtLeast("4.7") + + val nativeHostTargetName = configure().current + val supportedNativeTargets = configure().supported + val unsupportedNativeTargets = configure().unsupported + private fun Project.targetClassesDir(targetName: String, sourceSetName: String = "main") = classesDir(sourceSet = "$targetName/$sourceSetName") @@ -649,12 +663,8 @@ class NewMultiplatformIT : BaseGradleIT() { @Test fun testPublishingOnlySupportedNativeTargets() = with(Project("sample-lib", gradleVersion, "new-mpp-lib-and-app")) { - val (publishedVariant, nonPublishedVariant) = when { - HostManager.hostIsMac -> "macos64" to "linux64" - HostManager.hostIsLinux -> "linux64" to "macos64" - HostManager.hostIsMingw -> "mingw64" to "linux64" - else -> error("Unknown host") - } + val publishedVariant = nativeHostTargetName + val nonPublishedVariant = unsupportedNativeTargets[0] build("publish") { assertSuccessful()