From 39e97e576697b85bc213b98ace21eb7fbf886405 Mon Sep 17 00:00:00 2001 From: Dmitrii Krasnov Date: Mon, 12 Jun 2023 12:13:39 +0200 Subject: [PATCH] Migrated AppleFrameworkNonMacIT to new test dsl (junit 5 and gradle test kit) #KT-51553 In Progress --- .../gradle/native/AppleFrameworkNonMacIT.kt | 59 +++++++++---------- .../native-cocoapods-tests/build.gradle.kts | 4 +- 2 files changed, 30 insertions(+), 33 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/AppleFrameworkNonMacIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/AppleFrameworkNonMacIT.kt index ab948460322..ad6dbf592d2 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/AppleFrameworkNonMacIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/AppleFrameworkNonMacIT.kt @@ -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) } } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cocoapods-tests/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cocoapods-tests/build.gradle.kts index b5b2921b498..625939164a2 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cocoapods-tests/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/native-cocoapods-tests/build.gradle.kts @@ -1,6 +1,6 @@ plugins { - id("org.jetbrains.kotlin.multiplatform").version("") - id("org.jetbrains.kotlin.native.cocoapods").version("") + id("org.jetbrains.kotlin.multiplatform") + id("org.jetbrains.kotlin.native.cocoapods") } repositories {