Skip to content

Commit 62ba08e

Browse files
demiurg906Space Team
authored andcommitted
[Test] Put long arguments into args file in KotlinJsr223ScriptEngineIT
1 parent 56fdb63 commit 62ba08e

File tree

2 files changed

+24
-8
lines changed
  • libraries/scripting/jsr223-test/test/kotlin/script/experimental/jsr223/test
  • plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin

2 files changed

+24
-8
lines changed

libraries/scripting/jsr223-test/test/kotlin/script/experimental/jsr223/test/KotlinJsr223ScriptEngineIT.kt

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package kotlin.script.experimental.jsr223.test
77

8+
import com.intellij.openapi.util.io.toCanonicalPath
89
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
910
import org.jetbrains.kotlin.cli.common.arguments.cliArgument
1011
import org.jetbrains.kotlin.cli.common.environment.setIdeaIoUseFallback
@@ -25,6 +26,7 @@ import java.lang.management.ManagementFactory
2526
import java.nio.file.Files.createTempDirectory
2627
import java.nio.file.Files.createTempFile
2728
import javax.script.*
29+
import kotlin.io.path.writeLines
2830
import kotlin.script.experimental.jvmhost.jsr223.KotlinJsr223ScriptEngineImpl
2931
import kotlin.script.templates.standard.ScriptTemplateWithBindings
3032

@@ -451,6 +453,13 @@ obj
451453
val runtime = File(jdk17, "bin" + File.separator + javaExe)
452454

453455
val tempDir = createTempDirectory(KotlinJsr223ScriptEngineIT::class.simpleName!!)
456+
457+
fun prepareArgFile(vararg args: String): String {
458+
val file = tempDir.resolve("arguments.args")
459+
file.writeLines(args.map { it.replace("\\", "\\\\") })
460+
return "@${file.toCanonicalPath()}"
461+
}
462+
454463
try {
455464
val outJar = createTempFile(tempDir, "inlining17", ".jar").toFile()
456465
val compileCp = File(System.getProperty("testCompilationClasspath")!!).readText().split(File.pathSeparator).map(::File)
@@ -462,12 +471,14 @@ obj
462471
runAndCheckResults(
463472
listOf(
464473
runtime.absolutePath,
465-
"-cp", paths.compilerClasspath.joinToString(File.pathSeparator),
466-
K2JVMCompiler::class.java.name,
467-
K2JVMCompilerArguments::noStdlib.cliArgument,
468-
K2JVMCompilerArguments::classpath.cliArgument, compileCp.joinToString(File.pathSeparator) { it.path },
469-
K2JVMCompilerArguments::destination.cliArgument, outJar.absolutePath,
470-
K2JVMCompilerArguments::jvmTarget.cliArgument, "17",
474+
prepareArgFile(
475+
"-cp", paths.compilerClasspath.joinToString(File.pathSeparator),
476+
K2JVMCompiler::class.java.name,
477+
K2JVMCompilerArguments::noStdlib.cliArgument,
478+
K2JVMCompilerArguments::classpath.cliArgument, compileCp.joinToString(File.pathSeparator) { it.path },
479+
K2JVMCompilerArguments::destination.cliArgument, outJar.absolutePath,
480+
K2JVMCompilerArguments::jvmTarget.cliArgument, "17",
481+
),
471482
"libraries/scripting/jsr223-test/testData/testJsr223Inlining.kt"
472483
),
473484
additionalEnvVars = listOf("JAVA_HOME" to jdk17.absolutePath)
@@ -480,7 +491,12 @@ obj
480491
)
481492

482493
runAndCheckResults(
483-
listOf(runtime.absolutePath, "-cp", runtimeCp.joinToString(File.pathSeparator) { it.path }, "TestJsr223InliningKt"),
494+
listOf(
495+
runtime.absolutePath,
496+
"-cp",
497+
prepareArgFile(runtimeCp.joinToString(File.pathSeparator) { it.path }),
498+
"TestJsr223InliningKt"
499+
),
484500
listOf("OK")
485501
)
486502
} finally {

plugins/scripting/scripting-compiler/tests/org/jetbrains/kotlin/scripting/compiler/plugin/testUtil.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ fun runAndCheckResults(
130130
val (stdoutThread, stdoutException, processOut) = process.inputStream.captureStream()
131131
val (stderrThread, stderrException, processErr) = process.errorStream.captureStream()
132132

133-
process.waitFor(30000, TimeUnit.MILLISECONDS)
133+
process.waitFor(3000000, TimeUnit.MILLISECONDS)
134134

135135
try {
136136
if (process.isAlive) {

0 commit comments

Comments
 (0)