Use KotlinCoreEnvironment.createForTests in test code

createForProduction creates and caches JavaCoreApplicationEnvironment
instance, which can alter behavior of subsequent tests
This commit is contained in:
Alexander Udalov
2017-11-02 17:09:40 +01:00
parent dddd1cdba5
commit 3ead2e9cd4
4 changed files with 4 additions and 11 deletions
@@ -356,7 +356,7 @@ class ScriptTemplateTest : KtUsefulTestCase() {
configuration.add(JVMConfigurationKeys.SCRIPT_DEFINITIONS, scriptDefinition)
configuration.put(JVMConfigurationKeys.RETAIN_OUTPUT_IN_MEMORY, true)
val environment = KotlinCoreEnvironment.createForProduction(rootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
val environment = KotlinCoreEnvironment.createForTests(rootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
try {
return KotlinToJVMBytecodeCompiler.compileScript(environment, this::class.java.classLoader.takeUnless { runIsolated })
@@ -106,7 +106,7 @@ class ScriptTest : KtUsefulTestCase() {
configuration.put(JVMConfigurationKeys.OUTPUT_DIRECTORY, saveClassesDir)
}
val environment = KotlinCoreEnvironment.createForProduction(rootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
val environment = KotlinCoreEnvironment.createForTests(rootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
try {
return KotlinToJVMBytecodeCompiler.compileScript(environment, this::class.java.classLoader.takeUnless { runIsolated })