Tests: accept TargetBackend in KotlinBaseTest.createConfiguration

This commit is contained in:
Alexander Udalov
2020-08-28 20:43:07 +02:00
parent 0dea6b94c6
commit e324733b01
8 changed files with 16 additions and 13 deletions
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.cli.js.K2JSCompiler
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.Companion.createForTests import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.Companion.createForTests
import org.jetbrains.kotlin.codegen.AbstractBlackBoxCodegenTest import org.jetbrains.kotlin.codegen.AbstractBlackBoxCodegenTest
import org.jetbrains.kotlin.codegen.CodegenTestCase
import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.JVMConfigurationKeys import org.jetbrains.kotlin.config.JVMConfigurationKeys
import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.KotlinTestUtils
@@ -33,10 +32,7 @@ abstract class AbstractCompileKotlinAgainstKlibTest : AbstractBlackBoxCodegenTes
val classpath: MutableList<File> = ArrayList() val classpath: MutableList<File> = ArrayList()
classpath.add(KotlinTestUtils.getAnnotationsJar()) classpath.add(KotlinTestUtils.getAnnotationsJar())
val configuration = createConfiguration( val configuration = createConfiguration(
configurationKind, getTestJdkKind(files), configurationKind, getTestJdkKind(files), backend, classpath, listOf(outputDir), files
classpath,
listOf(outputDir),
files
) )
myEnvironment = createForTests( myEnvironment = createForTests(
testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES
@@ -46,6 +46,7 @@ abstract class KotlinMultiFileTestWithJava<M : KotlinBaseTest.TestModule, F : Ko
val configuration = createConfiguration( val configuration = createConfiguration(
extractConfigurationKind(files), extractConfigurationKind(files),
getTestJdkKind(files), getTestJdkKind(files),
backend,
getClasspath(file), getClasspath(file),
if (isJavaSourceRootNeeded()) listOf(javaFilesDir) else emptyList(), if (isJavaSourceRootNeeded()) listOf(javaFilesDir) else emptyList(),
files files
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.codegen; package org.jetbrains.kotlin.codegen;
import com.google.common.collect.Lists;
import com.intellij.openapi.Disposable; import com.intellij.openapi.Disposable;
import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Disposer;
import kotlin.Pair; import kotlin.Pair;
@@ -104,7 +103,8 @@ public abstract class AbstractCompileKotlinAgainstKotlinTest extends CodegenTest
private ClassFileFactory compileA(@NotNull TestFile testFile, List<TestFile> files) { private ClassFileFactory compileA(@NotNull TestFile testFile, List<TestFile> files) {
Disposable compileDisposable = createDisposable("compileA"); Disposable compileDisposable = createDisposable("compileA");
CompilerConfiguration configuration = createConfiguration( CompilerConfiguration configuration = createConfiguration(
ConfigurationKind.ALL, getTestJdkKind(files), Collections.singletonList(KotlinTestUtils.getAnnotationsJar()), ConfigurationKind.ALL, getTestJdkKind(files), getBackend(),
Collections.singletonList(KotlinTestUtils.getAnnotationsJar()),
Collections.emptyList(), Collections.singletonList(testFile) Collections.emptyList(), Collections.singletonList(testFile)
); );
@@ -126,8 +126,9 @@ public abstract class AbstractCompileKotlinAgainstKotlinTest extends CodegenTest
private ClassFileFactory compileB(@NotNull TestFile testFile, List<TestFile> files) { private ClassFileFactory compileB(@NotNull TestFile testFile, List<TestFile> files) {
String commonHeader = StringsKt.substringBefore(files.get(0).content, "FILE:", ""); String commonHeader = StringsKt.substringBefore(files.get(0).content, "FILE:", "");
CompilerConfiguration configuration = createConfiguration( CompilerConfiguration configuration = createConfiguration(
ConfigurationKind.ALL, getTestJdkKind(files), Lists.newArrayList(KotlinTestUtils.getAnnotationsJar(), aDir), ConfigurationKind.ALL, getTestJdkKind(files), getBackend(),
Collections.emptyList(), Lists.newArrayList(testFile, new TestFile("header", commonHeader)) Arrays.asList(KotlinTestUtils.getAnnotationsJar(), aDir),
Collections.emptyList(), Arrays.asList(testFile, new TestFile("header", commonHeader))
); );
configuration.put(CommonConfigurationKeys.MODULE_NAME, "b"); configuration.put(CommonConfigurationKeys.MODULE_NAME, "b");
@@ -53,7 +53,7 @@ abstract class AbstractLightAnalysisModeTest : CodegenTestCase() {
assert(!relativePath.startsWith("..")) assert(!relativePath.startsWith(".."))
val configuration = createConfiguration( val configuration = createConfiguration(
configurationKind, getTestJdkKind(files), listOf(getAnnotationsJar()), listOfNotNull(writeJavaFiles(files)), files configurationKind, getTestJdkKind(files), backend, listOf(getAnnotationsJar()), listOfNotNull(writeJavaFiles(files)), files
) )
val environment = KotlinCoreEnvironment.createForTests(testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES) val environment = KotlinCoreEnvironment.createForTests(testRootDisposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
AnalysisHandlerExtension.registerExtension(environment.project, PartialAnalysisHandlerExtension()) AnalysisHandlerExtension.registerExtension(environment.project, PartialAnalysisHandlerExtension())
@@ -101,6 +101,7 @@ public abstract class CodegenTestCase extends KotlinBaseTest<KotlinBaseTest.Test
CompilerConfiguration configuration = createConfiguration( CompilerConfiguration configuration = createConfiguration(
configurationKind, configurationKind,
testJdkKind, testJdkKind,
getBackend(),
Collections.singletonList(getAnnotationsJar()), Collections.singletonList(getAnnotationsJar()),
ArraysKt.filterNotNull(javaSourceRoots), ArraysKt.filterNotNull(javaSourceRoots),
testFilesWithConfigurationDirectives testFilesWithConfigurationDirectives
@@ -494,7 +495,7 @@ public abstract class CodegenTestCase extends KotlinBaseTest<KotlinBaseTest.Test
} }
CompilerConfiguration configuration = createConfiguration( CompilerConfiguration configuration = createConfiguration(
configurationKind, getTestJdkKind(files), configurationKind, getTestJdkKind(files), getBackend(),
classpath, classpath,
ArraysKt.filterNotNull(new File[] {javaSourceDir}), ArraysKt.filterNotNull(new File[] {javaSourceDir}),
files files
@@ -40,6 +40,7 @@ import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil
import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.InTextDirectivesUtils import org.jetbrains.kotlin.test.InTextDirectivesUtils
import org.jetbrains.kotlin.test.KotlinTestUtils.getAnnotationsJar import org.jetbrains.kotlin.test.KotlinTestUtils.getAnnotationsJar
import org.jetbrains.kotlin.test.TargetBackend
import java.io.File import java.io.File
import java.util.* import java.util.*
@@ -75,7 +76,7 @@ abstract class AbstractIrGeneratorTestCase : CodegenTestCase() {
} }
val configuration = createConfiguration( val configuration = createConfiguration(
configurationKind, jdkKind, configurationKind, jdkKind, backend,
listOf<File>(getAnnotationsJar()), listOf<File>(getAnnotationsJar()),
listOfNotNull(writeJavaFiles(files)), listOfNotNull(writeJavaFiles(files)),
files files
@@ -82,9 +82,10 @@ abstract class KotlinBaseTest<F : KotlinBaseTest.TestFile> : KtUsefulTestCase()
protected open fun configureTestSpecific(configuration: CompilerConfiguration, testFiles: List<TestFile>) {} protected open fun configureTestSpecific(configuration: CompilerConfiguration, testFiles: List<TestFile>) {}
protected open fun createConfiguration( protected fun createConfiguration(
kind: ConfigurationKind, kind: ConfigurationKind,
jdkKind: TestJdkKind, jdkKind: TestJdkKind,
backend: TargetBackend,
classpath: List<File?>, classpath: List<File?>,
javaSource: List<File?>, javaSource: List<File?>,
testFilesWithConfigurationDirectives: List<TestFile> testFilesWithConfigurationDirectives: List<TestFile>
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.script.loadScriptingPlugin import org.jetbrains.kotlin.script.loadScriptingPlugin
import org.jetbrains.kotlin.scripting.compiler.plugin.configureScriptDefinitions import org.jetbrains.kotlin.scripting.compiler.plugin.configureScriptDefinitions
import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.TargetBackend
import org.jetbrains.kotlin.test.TestJdkKind import org.jetbrains.kotlin.test.TestJdkKind
import org.jetbrains.kotlin.utils.PathUtil import org.jetbrains.kotlin.utils.PathUtil
import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_COMMON_JAR import org.jetbrains.kotlin.utils.PathUtil.KOTLIN_SCRIPTING_COMMON_JAR
@@ -59,6 +60,7 @@ class CustomScriptCodegenTest : CodegenTestCase() {
val configuration = createConfiguration( val configuration = createConfiguration(
ConfigurationKind.ALL, ConfigurationKind.ALL,
TestJdkKind.MOCK_JDK, TestJdkKind.MOCK_JDK,
TargetBackend.JVM,
additionalDependencies, additionalDependencies,
emptyList(), emptyList(),
emptyList() emptyList()