diff --git a/libraries/scripting/dependencies-maven/test/kotlin/script/experimental/test/MavenResolverTest.kt b/libraries/scripting/dependencies-maven/test/kotlin/script/experimental/test/MavenResolverTest.kt index 29a51f82bd1..8a79e66a8ff 100644 --- a/libraries/scripting/dependencies-maven/test/kotlin/script/experimental/test/MavenResolverTest.kt +++ b/libraries/scripting/dependencies-maven/test/kotlin/script/experimental/test/MavenResolverTest.kt @@ -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) -> Boolean = { true } - ) { + ): List { 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): ExternalDependenciesResolver.Options { @@ -59,26 +60,16 @@ class MavenResolverTest : ResolversTestBase() { } fun testResolveWithRuntime() { - val compileOnly = "compile" - val compileRuntime = "compile,runtime" - val resolvedFilesCount = mutableMapOf() + // 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() ) }