diff --git a/compiler/testData/script/hello.kts b/compiler/testData/script/cliCompilation/hello.kts similarity index 100% rename from compiler/testData/script/hello.kts rename to compiler/testData/script/cliCompilation/hello.kts diff --git a/compiler/testData/script/hello.req1.kts b/compiler/testData/script/cliCompilation/hello.req1.kts similarity index 100% rename from compiler/testData/script/hello.req1.kts rename to compiler/testData/script/cliCompilation/hello.req1.kts diff --git a/compiler/testData/script/hello_args.kts b/compiler/testData/script/cliCompilation/hello_args.kts similarity index 100% rename from compiler/testData/script/hello_args.kts rename to compiler/testData/script/cliCompilation/hello_args.kts diff --git a/compiler/testData/script/hello_req.kt b/compiler/testData/script/cliCompilation/hello_req.kt similarity index 100% rename from compiler/testData/script/hello_req.kt rename to compiler/testData/script/cliCompilation/hello_req.kt diff --git a/compiler/tests/org/jetbrains/kotlin/scripts/ScriptCliCompilationTest.kt b/compiler/tests/org/jetbrains/kotlin/scripts/ScriptCliCompilationTest.kt index c25d1d25831..6720b11041c 100644 --- a/compiler/tests/org/jetbrains/kotlin/scripts/ScriptCliCompilationTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/scripts/ScriptCliCompilationTest.kt @@ -36,28 +36,24 @@ import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration import kotlin.script.experimental.jvm.dependenciesFromCurrentContext import kotlin.script.experimental.jvm.jvm -private const val testDataPath = "compiler/testData/script/" +private const val testDataPath = "compiler/testData/script/cliCompilation" class ScriptCliCompilationTest : KtUsefulTestCase() { - @Test fun testPrerequisites() { Assert.assertTrue(thisClasspath.isNotEmpty()) } - @Test fun testSimpleScript() { val out = checkRun("hello.kts") Assert.assertEquals("Hello from basic script!", out) } - @Test fun testSimpleScriptWithArgs() { val out = checkRun("hello_args.kts", listOf("kotlin")) Assert.assertEquals("Hello, kotlin!", out) } - @Test fun testScriptWithRequire() { val out = checkRun("hello.req1.kts", scriptDef = TestScriptWithRequire::class) Assert.assertEquals("Hello from required!", out) @@ -128,9 +124,12 @@ object TestScriptWithRequireConfiguration : ScriptCompilationConfiguration( } refineConfiguration { onAnnotations(Import::class) { context: ScriptConfigurationRefinementContext -> + val scriptBaseDir = (context.script as? FileScriptSource)?.file?.parentFile val sources = context.collectedData?.get(ScriptCollectedData.foundAnnotations) ?.flatMap { - (it as? Import)?.sources?.map { sourceName -> FileScriptSource(File(testDataPath, sourceName)) } ?: emptyList() + (it as? Import)?.sources?.map { sourceName -> + FileScriptSource(scriptBaseDir?.resolve(sourceName) ?: File(sourceName)) + } ?: emptyList() } ?.takeIf { it.isNotEmpty() } ?: return@onAnnotations context.compilationConfiguration.asSuccess()