Minor: rewrite testResolveWithRuntime without !!
This commit is contained in:
+11
-20
@@ -13,7 +13,6 @@ import kotlin.contracts.ExperimentalContracts
|
||||
import kotlin.contracts.InvocationKind
|
||||
import kotlin.contracts.contract
|
||||
import kotlin.reflect.full.primaryConstructor
|
||||
import kotlin.script.experimental.dependencies.maven.MavenDependenciesResolver
|
||||
import kotlin.script.experimental.api.ResultWithDiagnostics
|
||||
import kotlin.script.experimental.api.valueOrThrow
|
||||
import kotlin.script.experimental.dependencies.*
|
||||
@@ -21,6 +20,7 @@ import kotlin.script.experimental.dependencies.impl.DependenciesResolverOptionsN
|
||||
import kotlin.script.experimental.dependencies.impl.SimpleExternalDependenciesResolverOptionsParser
|
||||
import kotlin.script.experimental.dependencies.impl.makeExternalDependenciesResolverOptions
|
||||
import kotlin.script.experimental.dependencies.impl.set
|
||||
import kotlin.script.experimental.dependencies.maven.MavenDependenciesResolver
|
||||
|
||||
@ExperimentalContracts
|
||||
class MavenResolverTest : ResolversTestBase() {
|
||||
@@ -29,7 +29,7 @@ class MavenResolverTest : ResolversTestBase() {
|
||||
coordinates: String,
|
||||
options: ExternalDependenciesResolver.Options = ExternalDependenciesResolver.Options.Empty,
|
||||
checkBody: (Iterable<File>) -> Boolean = { true }
|
||||
) {
|
||||
): List<File> {
|
||||
contract {
|
||||
callsInPlace(checkBody, InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
@@ -42,6 +42,7 @@ class MavenResolverTest : ResolversTestBase() {
|
||||
if (!checkBody(files)) {
|
||||
Assert.fail("Unexpected resolving results:\n ${files.joinToString("\n ")}")
|
||||
}
|
||||
return files
|
||||
}
|
||||
|
||||
private fun buildOptions(vararg options: Pair<DependenciesResolverOptionsName, String>): ExternalDependenciesResolver.Options {
|
||||
@@ -59,26 +60,16 @@ class MavenResolverTest : ResolversTestBase() {
|
||||
}
|
||||
|
||||
fun testResolveWithRuntime() {
|
||||
val compileOnly = "compile"
|
||||
val compileRuntime = "compile,runtime"
|
||||
val resolvedFilesCount = mutableMapOf<String, Int>()
|
||||
// Need a minimal library with an extra runtime dependency
|
||||
val lib = "org.jetbrains.kotlin:kotlin-util-io:$resolvedKotlinVersion"
|
||||
val compileOnlyFiles = resolveAndCheck(lib, buildOptions(DependenciesResolverOptionsName.SCOPE to "compile"))
|
||||
val compileRuntimeFiles = resolveAndCheck(lib, buildOptions(DependenciesResolverOptionsName.SCOPE to "compile,runtime"))
|
||||
|
||||
listOf(compileOnly, compileRuntime).forEach { scopes ->
|
||||
resolveAndCheck(
|
||||
// Need a minimal library with an extra runtime dependency
|
||||
"org.jetbrains.kotlin:kotlin-util-io:$resolvedKotlinVersion",
|
||||
buildOptions(DependenciesResolverOptionsName.SCOPE to scopes)
|
||||
) { files ->
|
||||
resolvedFilesCount[scopes] = files.count()
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
val compileOnlyCount = resolvedFilesCount[compileOnly]!!
|
||||
val compileRuntimeCount = resolvedFilesCount[compileRuntime]!!
|
||||
assertTrue(
|
||||
"Compile only ($compileOnlyCount) dependencies count should be less than compile/runtime ($compileRuntimeCount) one",
|
||||
compileOnlyCount < compileRuntimeCount
|
||||
"Compile only dependencies count should be less than compile + runtime\n" +
|
||||
"${compileOnlyFiles.joinToString(prefix = "Compile dependencies:\n\t", separator = "\n\t")}\n" +
|
||||
compileRuntimeFiles.joinToString(prefix = "Compile + Runtime dependencies:\n\t", separator = "\n\t"),
|
||||
compileOnlyFiles.count() < compileRuntimeFiles.count()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user