Add 'testResolveAllConfigurations' assertion for new test DSL.

^KT-45745 In Progress
This commit is contained in:
Yahor Berdnikau
2021-10-28 11:03:30 +02:00
parent 5989e0936f
commit 7cda2e9859
@@ -6,6 +6,8 @@
package org.jetbrains.kotlin.gradle.util
import org.jetbrains.kotlin.gradle.BaseGradleIT
import org.jetbrains.kotlin.gradle.testbase.*
import java.nio.file.Files
import kotlin.test.assertTrue
private const val RESOLVE_ALL_CONFIGURATIONS_TASK_NAME = "resolveAllConfigurations"
@@ -40,6 +42,30 @@ fun BaseGradleIT.Project.testResolveAllConfigurations(
}
}
fun TestProject.testResolveAllConfigurations(
subproject: String? = null,
skipSetup: Boolean = false,
excludeConfigurations: List<String> = listOf(),
options: BuildOptions = buildOptions,
withUnresolvedConfigurationNames: TestProject.(List<String>) -> Unit = { assertTrue("Unresolved configurations: $it") { it.isEmpty() } }
) {
if (!skipSetup) {
when {
Files.exists(buildGradle) -> buildGradle
.append("\n${generateResolveAllConfigurationsTask(excludeConfigurations)}")
Files.exists(buildGradleKts) -> buildGradleKts
.append("\n${generateResolveAllConfigurationsTaskKts(excludeConfigurations)}")
else -> error("Build script does not exists under $projectPath")
}
}
build(RESOLVE_ALL_CONFIGURATIONS_TASK_NAME, buildOptions = options) {
assertTasksExecuted(":${subproject?.let { "$it:" }.orEmpty()}$RESOLVE_ALL_CONFIGURATIONS_TASK_NAME")
val unresolvedConfigurations = unresolvedConfigurationRegex.findAll(output).map { it.groupValues[1] }.toList()
withUnresolvedConfigurationNames(unresolvedConfigurations)
}
}
private fun generateResolveAllConfigurationsTask(excludes: List<String>) =
"""
task $RESOLVE_ALL_CONFIGURATIONS_TASK_NAME {