Migrated AppleFrameworkNonMacIT to new test dsl (junit 5 and gradle test kit)
#KT-51553 In Progress
This commit is contained in:
committed by
Space Team
parent
72525a22a6
commit
39e97e5766
+28
-31
@@ -1,39 +1,43 @@
|
||||
/*
|
||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.native
|
||||
|
||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
||||
import org.jetbrains.kotlin.gradle.GradleVersionRequired
|
||||
import org.jetbrains.kotlin.gradle.transformProjectWithPluginsDsl
|
||||
import org.jetbrains.kotlin.konan.target.HostManager
|
||||
import org.junit.Assume
|
||||
import org.junit.BeforeClass
|
||||
import org.junit.Test
|
||||
import kotlin.test.assertTrue
|
||||
import org.gradle.util.GradleVersion
|
||||
import org.jetbrains.kotlin.gradle.testbase.*
|
||||
import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.condition.OS
|
||||
|
||||
class AppleFrameworkNonMacIT : BaseGradleIT() {
|
||||
@OsCondition(supportedOn = [OS.LINUX, OS.WINDOWS])
|
||||
@DisplayName("K/N tests for Apple Framework on non Mac Os")
|
||||
@NativeGradlePluginTests
|
||||
class AppleFrameworkNonMacIT : KGPBaseTest() {
|
||||
|
||||
override val defaultGradleVersion: GradleVersionRequired
|
||||
get() = GradleVersionRequired.FOR_MPP_SUPPORT
|
||||
@DisplayName("podImport task execution without fail")
|
||||
@GradleTest
|
||||
fun checkSuccessPodImport(gradleVersion: GradleVersion) {
|
||||
|
||||
@Test
|
||||
fun `check success podImport`() {
|
||||
transformProjectWithPluginsDsl(
|
||||
"native-cocoapods-tests"
|
||||
).build("podImport", "-Pkotlin.native.cocoapods.generate.wrapper=true") {
|
||||
assertSuccessful()
|
||||
assertTrue { output.contains("Kotlin Cocoapods Plugin is fully supported on mac machines only. Gradle tasks that can not run on non-mac hosts will be skipped.") }
|
||||
nativeProject("native-cocoapods-tests", gradleVersion) {
|
||||
val buildOptions = defaultBuildOptions.copy(
|
||||
nativeOptions = defaultBuildOptions.nativeOptions.copy(
|
||||
cocoapodsGenerateWrapper = true
|
||||
)
|
||||
)
|
||||
|
||||
build("podImport", buildOptions = buildOptions) {
|
||||
assertOutputContains("Kotlin Cocoapods Plugin is fully supported on mac machines only. Gradle tasks that can not run on non-mac hosts will be skipped.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `check XCFramework and FatFramework tasks are SKIPPED`() {
|
||||
transformProjectWithPluginsDsl("appleXCFramework")
|
||||
.build("assembleSharedDebugXCFramework") {
|
||||
assertSuccessful()
|
||||
@DisplayName("XCFramework and FatFramework tasks are SKIPPED")
|
||||
@GradleTest
|
||||
fun checkXCFrameworkAndFatFrameworkTasksAreSkipped(gradleVersion: GradleVersion) {
|
||||
|
||||
project("appleXCFramework", gradleVersion) {
|
||||
build("assembleSharedDebugXCFramework") {
|
||||
assertTasksSkipped(":shared:linkDebugFrameworkIosArm64")
|
||||
assertTasksSkipped(":shared:linkDebugFrameworkIosX64")
|
||||
assertTasksSkipped(":shared:linkDebugFrameworkWatchosArm32")
|
||||
@@ -43,13 +47,6 @@ class AppleFrameworkNonMacIT : BaseGradleIT() {
|
||||
assertTasksSkipped(":shared:assembleDebugWatchosFatFrameworkForSharedXCFramework")
|
||||
assertTasksSkipped(":shared:assembleSharedDebugXCFramework")
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
@BeforeClass
|
||||
@JvmStatic
|
||||
fun assumeItsNonMac() {
|
||||
Assume.assumeFalse(HostManager.hostIsMac)
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
plugins {
|
||||
id("org.jetbrains.kotlin.multiplatform").version("<pluginMarkerVersion>")
|
||||
id("org.jetbrains.kotlin.native.cocoapods").version("<pluginMarkerVersion>")
|
||||
id("org.jetbrains.kotlin.multiplatform")
|
||||
id("org.jetbrains.kotlin.native.cocoapods")
|
||||
}
|
||||
|
||||
repositories {
|
||||
|
||||
Reference in New Issue
Block a user