!fixup [Gradle] refactor Gradle task assertion utils for clarity
- Rename/update to differentiate between 'executed' tasks vs tasks that are not in the task graph - de-duplicate assertTasksNotExecuted() / assertTasksAreNotInTaskGraph() they both did the same thing - re-use code for verifying all tasks have a specific outcome - add a more helpful failed assertion message if the task isn't found - rename 'tasks' to 'taskPaths' for clarity
This commit is contained in:
committed by
Space Team
parent
1661957166
commit
a6524be97a
+24
-14
@@ -20,7 +20,8 @@ import org.jetbrains.kotlin.konan.target.KonanTarget.*
|
|||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.io.TempDir
|
import org.junit.jupiter.api.io.TempDir
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
import kotlin.io.path.*
|
import kotlin.io.path.Path
|
||||||
|
import kotlin.io.path.walk
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
import kotlin.test.fail
|
import kotlin.test.fail
|
||||||
|
|
||||||
@@ -124,8 +125,10 @@ open class CommonizerIT : KGPBaseTest() {
|
|||||||
}
|
}
|
||||||
build(":commonize") {
|
build(":commonize") {
|
||||||
assertNativeDistributionCommonizationCacheHit()
|
assertNativeDistributionCommonizationCacheHit()
|
||||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetA")
|
assertTasksAreNotInTaskGraph(
|
||||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetB")
|
":cinteropCurlTargetA",
|
||||||
|
":cinteropCurlTargetB",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -144,9 +147,11 @@ open class CommonizerIT : KGPBaseTest() {
|
|||||||
|
|
||||||
build(":commonize") {
|
build(":commonize") {
|
||||||
assertTasksExecuted(":commonizeNativeDistribution")
|
assertTasksExecuted(":commonizeNativeDistribution")
|
||||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetA")
|
assertTasksAreNotInTaskGraph(
|
||||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetB")
|
":cinteropCurlTargetA",
|
||||||
assertTasksAreNotInTaskGraph(":commonizeCInterop")
|
":cinteropCurlTargetB",
|
||||||
|
":commonizeCInterop",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
build(":commonize", "-Pkotlin.mpp.enableCInteropCommonization=true") {
|
build(":commonize", "-Pkotlin.mpp.enableCInteropCommonization=true") {
|
||||||
@@ -158,14 +163,15 @@ open class CommonizerIT : KGPBaseTest() {
|
|||||||
|
|
||||||
build(":commonize", "-Pkotlin.mpp.enableCInteropCommonization=false") {
|
build(":commonize", "-Pkotlin.mpp.enableCInteropCommonization=false") {
|
||||||
assertNativeDistributionCommonizationCacheHit()
|
assertNativeDistributionCommonizationCacheHit()
|
||||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetA")
|
assertTasksAreNotInTaskGraph(
|
||||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetB")
|
":cinteropCurlTargetA",
|
||||||
assertTasksAreNotInTaskGraph(":commonizeCInterop")
|
":cinteropCurlTargetB",
|
||||||
|
":commonizeCInterop",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@DisplayName("Commonize Curl Interop copy CommonizeCInterop for Ide")
|
@DisplayName("Commonize Curl Interop copy CommonizeCInterop for Ide")
|
||||||
@GradleTest
|
@GradleTest
|
||||||
fun testCommonizeCurlInteropcopyCommonizeCInteropForIde(
|
fun testCommonizeCurlInteropcopyCommonizeCInteropForIde(
|
||||||
@@ -514,10 +520,14 @@ open class CommonizerIT : KGPBaseTest() {
|
|||||||
fun testCommonizationWithTwoCInteropCommonizerGroups(gradleVersion: GradleVersion) {
|
fun testCommonizationWithTwoCInteropCommonizerGroups(gradleVersion: GradleVersion) {
|
||||||
nativeProject("commonize-kt-57796-twoCInteropCommonizerGroups", gradleVersion) {
|
nativeProject("commonize-kt-57796-twoCInteropCommonizerGroups", gradleVersion) {
|
||||||
build(":app:commonizeCInterop") {
|
build(":app:commonizeCInterop") {
|
||||||
assertTasksAreNotInTaskGraph(":lib:transformCommonMainCInteropDependenciesMetadata")
|
assertTasksExecuted(
|
||||||
assertTasksExecuted(":lib:commonizeCInterop")
|
":lib:commonizeCInterop",
|
||||||
assertTasksAreNotInTaskGraph(":app:transformCommonMainCInteropDependenciesMetadata")
|
":app:commonizeCInterop",
|
||||||
assertTasksExecuted(":app:commonizeCInterop")
|
)
|
||||||
|
assertTasksAreNotInTaskGraph(
|
||||||
|
":lib:transformCommonMainCInteropDependenciesMetadata",
|
||||||
|
":app:transformCommonMainCInteropDependenciesMetadata",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-4
@@ -261,11 +261,15 @@ class MppCompositeBuildIT : KGPBaseTest() {
|
|||||||
build("cleanNativeDistributionCommonization")
|
build("cleanNativeDistributionCommonization")
|
||||||
build(":consumerA:transformNativeMainCInteropDependenciesMetadataForIde") {
|
build(":consumerA:transformNativeMainCInteropDependenciesMetadataForIde") {
|
||||||
if (HostManager.hostIsMac) {
|
if (HostManager.hostIsMac) {
|
||||||
assertTasksSkipped(":producerBuild:producerA:iosArm64MetadataJar")
|
assertTasksSkipped(
|
||||||
assertTasksSkipped(":producerBuild:producerA:iosX64MetadataJar")
|
":producerBuild:producerA:iosArm64MetadataJar",
|
||||||
|
":producerBuild:producerA:iosX64MetadataJar",
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
assertTasksAreNotInTaskGraph(":producerBuild:producerA:iosArm64MetadataJar")
|
assertTasksAreNotInTaskGraph(
|
||||||
assertTasksAreNotInTaskGraph(":producerBuild:producerA:iosX64MetadataJar")
|
":producerBuild:producerA:iosArm64MetadataJar",
|
||||||
|
":producerBuild:producerA:iosX64MetadataJar",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
assertTasksExecuted(":consumerA:transformNativeMainCInteropDependenciesMetadataForIde")
|
assertTasksExecuted(":consumerA:transformNativeMainCInteropDependenciesMetadataForIde")
|
||||||
|
|
||||||
|
|||||||
+8
-4
@@ -21,7 +21,9 @@ import org.junit.jupiter.api.DisplayName
|
|||||||
import org.junit.jupiter.api.condition.OS
|
import org.junit.jupiter.api.condition.OS
|
||||||
import java.util.zip.ZipFile
|
import java.util.zip.ZipFile
|
||||||
import kotlin.io.path.*
|
import kotlin.io.path.*
|
||||||
import kotlin.test.*
|
import kotlin.test.assertContains
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
@OsCondition(supportedOn = [OS.MAC], enabledOnCI = [OS.MAC])
|
@OsCondition(supportedOn = [OS.MAC], enabledOnCI = [OS.MAC])
|
||||||
@DisplayName("CocoaPods plugin tests")
|
@DisplayName("CocoaPods plugin tests")
|
||||||
@@ -561,9 +563,11 @@ class CocoaPodsIT : KGPBaseTest() {
|
|||||||
nativeProjectWithCocoapodsAndIosAppPodFile(cocoapodsCommonizationProjectName, gradleVersion) {
|
nativeProjectWithCocoapodsAndIosAppPodFile(cocoapodsCommonizationProjectName, gradleVersion) {
|
||||||
buildWithCocoapodsWrapper(":commonize", "-Pkotlin.mpp.enableCInteropCommonization=false") {
|
buildWithCocoapodsWrapper(":commonize", "-Pkotlin.mpp.enableCInteropCommonization=false") {
|
||||||
assertTasksExecuted(":commonizeNativeDistribution")
|
assertTasksExecuted(":commonizeNativeDistribution")
|
||||||
assertTasksAreNotInTaskGraph(":cinteropAFNetworkingIosArm64")
|
assertTasksAreNotInTaskGraph(
|
||||||
assertTasksAreNotInTaskGraph(":cinteropAFNetworkingIosX64")
|
":cinteropAFNetworkingIosArm64",
|
||||||
assertTasksAreNotInTaskGraph(":commonizeCInterop")
|
":cinteropAFNetworkingIosX64",
|
||||||
|
":commonizeCInterop",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -66,7 +66,7 @@ fun BuildResult.assertTasksExecuted(taskPaths: Collection<String>) {
|
|||||||
* Asserts given [taskPaths] have [TaskOutcome.FAILED] execution state.
|
* Asserts given [taskPaths] have [TaskOutcome.FAILED] execution state.
|
||||||
*/
|
*/
|
||||||
fun BuildResult.assertTasksFailed(vararg taskPaths: String) {
|
fun BuildResult.assertTasksFailed(vararg taskPaths: String) {
|
||||||
assertTasksHaveOutcome(TaskOutcome.SKIPPED, taskPaths.asList())
|
assertTasksHaveOutcome(TaskOutcome.FAILED, taskPaths.asList())
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user