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