!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.io.TempDir
|
||||
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.fail
|
||||
|
||||
@@ -124,8 +125,10 @@ open class CommonizerIT : KGPBaseTest() {
|
||||
}
|
||||
build(":commonize") {
|
||||
assertNativeDistributionCommonizationCacheHit()
|
||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetA")
|
||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetB")
|
||||
assertTasksAreNotInTaskGraph(
|
||||
":cinteropCurlTargetA",
|
||||
":cinteropCurlTargetB",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -144,9 +147,11 @@ open class CommonizerIT : KGPBaseTest() {
|
||||
|
||||
build(":commonize") {
|
||||
assertTasksExecuted(":commonizeNativeDistribution")
|
||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetA")
|
||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetB")
|
||||
assertTasksAreNotInTaskGraph(":commonizeCInterop")
|
||||
assertTasksAreNotInTaskGraph(
|
||||
":cinteropCurlTargetA",
|
||||
":cinteropCurlTargetB",
|
||||
":commonizeCInterop",
|
||||
)
|
||||
}
|
||||
|
||||
build(":commonize", "-Pkotlin.mpp.enableCInteropCommonization=true") {
|
||||
@@ -158,14 +163,15 @@ open class CommonizerIT : KGPBaseTest() {
|
||||
|
||||
build(":commonize", "-Pkotlin.mpp.enableCInteropCommonization=false") {
|
||||
assertNativeDistributionCommonizationCacheHit()
|
||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetA")
|
||||
assertTasksAreNotInTaskGraph(":cinteropCurlTargetB")
|
||||
assertTasksAreNotInTaskGraph(":commonizeCInterop")
|
||||
assertTasksAreNotInTaskGraph(
|
||||
":cinteropCurlTargetA",
|
||||
":cinteropCurlTargetB",
|
||||
":commonizeCInterop",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@DisplayName("Commonize Curl Interop copy CommonizeCInterop for Ide")
|
||||
@GradleTest
|
||||
fun testCommonizeCurlInteropcopyCommonizeCInteropForIde(
|
||||
@@ -514,10 +520,14 @@ open class CommonizerIT : KGPBaseTest() {
|
||||
fun testCommonizationWithTwoCInteropCommonizerGroups(gradleVersion: GradleVersion) {
|
||||
nativeProject("commonize-kt-57796-twoCInteropCommonizerGroups", gradleVersion) {
|
||||
build(":app:commonizeCInterop") {
|
||||
assertTasksAreNotInTaskGraph(":lib:transformCommonMainCInteropDependenciesMetadata")
|
||||
assertTasksExecuted(":lib:commonizeCInterop")
|
||||
assertTasksAreNotInTaskGraph(":app:transformCommonMainCInteropDependenciesMetadata")
|
||||
assertTasksExecuted(":app:commonizeCInterop")
|
||||
assertTasksExecuted(
|
||||
":lib:commonizeCInterop",
|
||||
":app:commonizeCInterop",
|
||||
)
|
||||
assertTasksAreNotInTaskGraph(
|
||||
":lib:transformCommonMainCInteropDependenciesMetadata",
|
||||
":app:transformCommonMainCInteropDependenciesMetadata",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+8
-4
@@ -261,11 +261,15 @@ class MppCompositeBuildIT : KGPBaseTest() {
|
||||
build("cleanNativeDistributionCommonization")
|
||||
build(":consumerA:transformNativeMainCInteropDependenciesMetadataForIde") {
|
||||
if (HostManager.hostIsMac) {
|
||||
assertTasksSkipped(":producerBuild:producerA:iosArm64MetadataJar")
|
||||
assertTasksSkipped(":producerBuild:producerA:iosX64MetadataJar")
|
||||
assertTasksSkipped(
|
||||
":producerBuild:producerA:iosArm64MetadataJar",
|
||||
":producerBuild:producerA:iosX64MetadataJar",
|
||||
)
|
||||
} else {
|
||||
assertTasksAreNotInTaskGraph(":producerBuild:producerA:iosArm64MetadataJar")
|
||||
assertTasksAreNotInTaskGraph(":producerBuild:producerA:iosX64MetadataJar")
|
||||
assertTasksAreNotInTaskGraph(
|
||||
":producerBuild:producerA:iosArm64MetadataJar",
|
||||
":producerBuild:producerA:iosX64MetadataJar",
|
||||
)
|
||||
}
|
||||
assertTasksExecuted(":consumerA:transformNativeMainCInteropDependenciesMetadataForIde")
|
||||
|
||||
|
||||
+8
-4
@@ -21,7 +21,9 @@ import org.junit.jupiter.api.DisplayName
|
||||
import org.junit.jupiter.api.condition.OS
|
||||
import java.util.zip.ZipFile
|
||||
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])
|
||||
@DisplayName("CocoaPods plugin tests")
|
||||
@@ -561,9 +563,11 @@ class CocoaPodsIT : KGPBaseTest() {
|
||||
nativeProjectWithCocoapodsAndIosAppPodFile(cocoapodsCommonizationProjectName, gradleVersion) {
|
||||
buildWithCocoapodsWrapper(":commonize", "-Pkotlin.mpp.enableCInteropCommonization=false") {
|
||||
assertTasksExecuted(":commonizeNativeDistribution")
|
||||
assertTasksAreNotInTaskGraph(":cinteropAFNetworkingIosArm64")
|
||||
assertTasksAreNotInTaskGraph(":cinteropAFNetworkingIosX64")
|
||||
assertTasksAreNotInTaskGraph(":commonizeCInterop")
|
||||
assertTasksAreNotInTaskGraph(
|
||||
":cinteropAFNetworkingIosArm64",
|
||||
":cinteropAFNetworkingIosX64",
|
||||
":commonizeCInterop",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -66,7 +66,7 @@ fun BuildResult.assertTasksExecuted(taskPaths: Collection<String>) {
|
||||
* Asserts given [taskPaths] have [TaskOutcome.FAILED] execution state.
|
||||
*/
|
||||
fun BuildResult.assertTasksFailed(vararg taskPaths: String) {
|
||||
assertTasksHaveOutcome(TaskOutcome.SKIPPED, taskPaths.asList())
|
||||
assertTasksHaveOutcome(TaskOutcome.FAILED, taskPaths.asList())
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user