[minor} Refactor scripting host tests:

- move definitions into one place
- reduce script/repl compilation classpath - spedd-ups tests (~10%)
This commit is contained in:
Ilya Chernikov
2019-09-23 13:00:33 +02:00
parent 0a1aff4f80
commit c53a805696
4 changed files with 19 additions and 25 deletions
@@ -13,8 +13,8 @@ import kotlin.script.experimental.api.*
import kotlin.script.experimental.host.toScriptSource
import kotlin.script.experimental.jvm.BasicJvmScriptEvaluator
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
import kotlin.script.experimental.jvm.dependenciesFromCurrentContext
import kotlin.script.experimental.jvm.jvm
import kotlin.script.experimental.jvm.updateClasspath
import kotlin.script.experimental.jvm.util.classpathFromClass
import kotlin.script.experimental.jvmhost.JvmScriptCompiler
import kotlin.script.experimental.jvmhost.createJvmCompilationConfigurationFromTemplate
import kotlin.script.experimental.jvmhost.createJvmEvaluationConfigurationFromTemplate
@@ -24,9 +24,7 @@ class ConfigurationDslTest : TestCase() {
@Test
fun testComposableRefinementHandlers() {
val baseConfig = createJvmCompilationConfigurationFromTemplate<SimpleScript> {
jvm {
dependenciesFromCurrentContext(wholeClasspath = true)
}
updateClasspath(classpathFromClass<SimpleScript>())
defaultImports(MyTestAnnotation1::class, MyTestAnnotation2::class)
refineConfiguration {
beforeParsing { (_, config, _) ->
@@ -15,7 +15,7 @@ import org.junit.Test
import kotlin.script.experimental.annotations.KotlinScript
import kotlin.script.experimental.api.*
import kotlin.script.experimental.host.toScriptSource
import kotlin.script.experimental.jvm.*
import kotlin.script.experimental.jvm.*import kotlin.script.experimental.jvm.util.classpathFromClass
import kotlin.script.experimental.jvmhost.createJvmCompilationConfigurationFromTemplate
class ReplTest : TestCase() {
@@ -168,15 +168,4 @@ class ReplTest : TestCase() {
}
}
@KotlinScript(fileExtension = "simplescript.kts")
abstract class SimpleScript
val simpleScriptompilationConfiguration = createJvmCompilationConfigurationFromTemplate<SimpleScript> {
jvm {
dependenciesFromCurrentContext(wholeClasspath = true)
}
}
val simpleScriptEvaluationConfiguration = ScriptEvaluationConfiguration()
class TestReceiver(val prop1: Int = 3)
@@ -64,9 +64,7 @@ class ScriptingHostTest : TestCase() {
basicJvmScriptingHost.eval(
"println(\"$greeting\")".toScriptSource("name"),
createJvmCompilationConfigurationFromTemplate<SimpleScript>(basicJvmScriptingHost.hostConfiguration) {
jvm {
dependenciesFromCurrentContext(wholeClasspath = true)
}
updateClasspath(classpathFromClass<SimpleScript>())
},
createJvmEvaluationConfigurationFromTemplate<SimpleScript>(basicJvmScriptingHost.hostConfiguration)
).throwOnFailure()
@@ -8,11 +8,20 @@ package kotlin.script.experimental.jvmhost.test
import kotlin.script.experimental.annotations.KotlinScript
import kotlin.script.experimental.api.*
import kotlin.script.experimental.host.toScriptSource
import kotlin.script.experimental.jvm.dependenciesFromCurrentContext
import kotlin.script.experimental.jvm.jvm
import kotlin.script.experimental.jvm.updateClasspath
import kotlin.script.experimental.jvm.util.classpathFromClass
import kotlin.script.experimental.jvmhost.BasicJvmScriptingHost
import kotlin.script.experimental.jvmhost.createJvmCompilationConfigurationFromTemplate
@KotlinScript(fileExtension = "simplescript.kts")
abstract class SimpleScript
val simpleScriptompilationConfiguration = createJvmCompilationConfigurationFromTemplate<SimpleScript> {
updateClasspath(classpathFromClass<SimpleScript>())
}
val simpleScriptEvaluationConfiguration = ScriptEvaluationConfiguration()
@KotlinScript(fileExtension = "withboth.kts", compilationConfiguration = ReceiverAndPropertiesConfiguration::class)
abstract class ScriptWithBoth
@@ -24,7 +33,7 @@ abstract class ScriptWithImplicitReceiver
object ReceiverAndPropertiesConfiguration : ScriptCompilationConfiguration(
{
jvm { dependenciesFromCurrentContext(wholeClasspath = true) }
updateClasspath(classpathFromClass<ScriptWithBoth>())
providedProperties("providedString" to String::class)
@@ -34,7 +43,7 @@ object ReceiverAndPropertiesConfiguration : ScriptCompilationConfiguration(
object ProvidedPropertiesConfiguration : ScriptCompilationConfiguration(
{
jvm { dependenciesFromCurrentContext(wholeClasspath = true) }
updateClasspath(classpathFromClass<ScriptWithProvidedProperties>())
providedProperties("providedString" to String::class)
}
@@ -42,7 +51,7 @@ object ProvidedPropertiesConfiguration : ScriptCompilationConfiguration(
object ImplicitReceiverConfiguration : ScriptCompilationConfiguration(
{
jvm { dependenciesFromCurrentContext(wholeClasspath = true) }
updateClasspath(classpathFromClass<ScriptWithImplicitReceiver>())
implicitReceivers(ImplicitReceiverClass::class)
}