Migrated AppleFrameworkNonMacIT to new test dsl (junit 5 and gradle test kit)

#KT-51553 In Progress
This commit is contained in:
Dmitrii Krasnov
2023-06-12 12:13:39 +02:00
committed by Space Team
parent 72525a22a6
commit 39e97e5766
2 changed files with 30 additions and 33 deletions
@@ -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)
}
}
}
@@ -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 {