Simple ivy resolver with test

This commit is contained in:
Ilya Chernikov
2018-08-10 11:19:18 +02:00
parent d7f45253d5
commit 79bad24941
9 changed files with 184 additions and 21 deletions
@@ -32,6 +32,7 @@ import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.script.KotlinScriptDefinition
import org.jetbrains.kotlin.script.KotlinScriptDefinitionFromAnnotatedTemplate
import org.jetbrains.kotlin.script.util.templates.BindingsScriptTemplateWithLocalResolving
import org.jetbrains.kotlin.script.util.templates.StandardArgsScriptTemplateWithIvyResolving
import org.jetbrains.kotlin.script.util.templates.StandardArgsScriptTemplateWithLocalResolving
import org.jetbrains.kotlin.script.util.templates.StandardArgsScriptTemplateWithMavenResolving
import org.jetbrains.kotlin.utils.PathUtil.getResourcePathForClass
@@ -108,6 +109,20 @@ done
}
}
@Test
fun testIvyResolveStdJUnitHelloWorld() {
val scriptClass = compileScript("args-junit-hello-world.kts", StandardArgsScriptTemplateWithIvyResolving::class)
if (scriptClass == null) {
System.err.println(classpathFromClassloader(Thread.currentThread().contextClassLoader)?.takeIfContainsAll(KOTLIN_JAVA_RUNTIME_JAR)?.joinToString())
}
Assert.assertNotNull(scriptClass)
captureOut {
scriptClass!!.getConstructor(Array<String>::class.java)!!.newInstance(arrayOf("a1"))
}.let {
Assert.assertEquals(argsHelloWorldOutput.linesSplitTrim(), it.linesSplitTrim())
}
}
private fun compileScript(
scriptFileName: String,
scriptTemplate: KClass<out Any>,