Add 'testResolveAllConfigurations' assertion for new test DSL.
^KT-45745 In Progress
This commit is contained in:
+26
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user