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.InvocationKind
|
||||||
import kotlin.contracts.contract
|
import kotlin.contracts.contract
|
||||||
import kotlin.reflect.full.primaryConstructor
|
import kotlin.reflect.full.primaryConstructor
|
||||||
import kotlin.script.experimental.dependencies.maven.MavenDependenciesResolver
|
|
||||||
import kotlin.script.experimental.api.ResultWithDiagnostics
|
import kotlin.script.experimental.api.ResultWithDiagnostics
|
||||||
import kotlin.script.experimental.api.valueOrThrow
|
import kotlin.script.experimental.api.valueOrThrow
|
||||||
import kotlin.script.experimental.dependencies.*
|
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.SimpleExternalDependenciesResolverOptionsParser
|
||||||
import kotlin.script.experimental.dependencies.impl.makeExternalDependenciesResolverOptions
|
import kotlin.script.experimental.dependencies.impl.makeExternalDependenciesResolverOptions
|
||||||
import kotlin.script.experimental.dependencies.impl.set
|
import kotlin.script.experimental.dependencies.impl.set
|
||||||
|
import kotlin.script.experimental.dependencies.maven.MavenDependenciesResolver
|
||||||
|
|
||||||
@ExperimentalContracts
|
@ExperimentalContracts
|
||||||
class MavenResolverTest : ResolversTestBase() {
|
class MavenResolverTest : ResolversTestBase() {
|
||||||
@@ -29,7 +29,7 @@ class MavenResolverTest : ResolversTestBase() {
|
|||||||
coordinates: String,
|
coordinates: String,
|
||||||
options: ExternalDependenciesResolver.Options = ExternalDependenciesResolver.Options.Empty,
|
options: ExternalDependenciesResolver.Options = ExternalDependenciesResolver.Options.Empty,
|
||||||
checkBody: (Iterable<File>) -> Boolean = { true }
|
checkBody: (Iterable<File>) -> Boolean = { true }
|
||||||
) {
|
): List<File> {
|
||||||
contract {
|
contract {
|
||||||
callsInPlace(checkBody, InvocationKind.EXACTLY_ONCE)
|
callsInPlace(checkBody, InvocationKind.EXACTLY_ONCE)
|
||||||
}
|
}
|
||||||
@@ -42,6 +42,7 @@ class MavenResolverTest : ResolversTestBase() {
|
|||||||
if (!checkBody(files)) {
|
if (!checkBody(files)) {
|
||||||
Assert.fail("Unexpected resolving results:\n ${files.joinToString("\n ")}")
|
Assert.fail("Unexpected resolving results:\n ${files.joinToString("\n ")}")
|
||||||
}
|
}
|
||||||
|
return files
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun buildOptions(vararg options: Pair<DependenciesResolverOptionsName, String>): ExternalDependenciesResolver.Options {
|
private fun buildOptions(vararg options: Pair<DependenciesResolverOptionsName, String>): ExternalDependenciesResolver.Options {
|
||||||
@@ -59,26 +60,16 @@ class MavenResolverTest : ResolversTestBase() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun testResolveWithRuntime() {
|
fun testResolveWithRuntime() {
|
||||||
val compileOnly = "compile"
|
// Need a minimal library with an extra runtime dependency
|
||||||
val compileRuntime = "compile,runtime"
|
val lib = "org.jetbrains.kotlin:kotlin-util-io:$resolvedKotlinVersion"
|
||||||
val resolvedFilesCount = mutableMapOf<String, Int>()
|
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(
|
assertTrue(
|
||||||
"Compile only ($compileOnlyCount) dependencies count should be less than compile/runtime ($compileRuntimeCount) one",
|
"Compile only dependencies count should be less than compile + runtime\n" +
|
||||||
compileOnlyCount < compileRuntimeCount
|
"${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