Scripting, tests: enable custom script tests with IR

This commit is contained in:
Ilya Chernikov
2022-12-09 14:36:47 +01:00
committed by Space Team
parent ba81bd052f
commit 07af2d807a
3 changed files with 72 additions and 0 deletions
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.script.loadScriptingPlugin
import org.jetbrains.kotlin.scripting.compiler.plugin.configureScriptDefinitions
import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.InTextDirectivesUtils
import org.jetbrains.kotlin.test.TargetBackend
import org.jetbrains.kotlin.test.TestJdkKind
import org.jetbrains.kotlin.utils.PathUtil
import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_COMMON_JAR
@@ -30,6 +31,8 @@ import kotlin.script.experimental.jvm.util.scriptCompilationClasspathFromContext
abstract class AbstractCustomScriptCodegenTest : CodegenTestCase() {
private lateinit var scriptDefinitions: List<String>
override val backend = TargetBackend.JVM_OLD
override fun setUp() {
super.setUp()
@@ -54,6 +57,11 @@ abstract class AbstractCustomScriptCodegenTest : CodegenTestCase() {
throw UnsupportedOperationException("Multiple files are not yet supported in this test")
}
if (InTextDirectivesUtils.isIgnoredTarget(backend, wholeFile)) {
println("${wholeFile.name} test is skipped")
return
}
val file = files.single()
val content = file.content
@@ -129,6 +137,10 @@ abstract class AbstractCustomScriptCodegenTest : CodegenTestCase() {
}
}
abstract class AbstractIrCustomScriptCodegenTest : AbstractCustomScriptCodegenTest() {
override val backend: TargetBackend = TargetBackend.JVM_IR
}
object TestScriptWithReceiversConfiguration : ScriptCompilationConfiguration(
{
implicitReceivers(String::class)