[Tests] Specify custom LF in AbstractVersionRequirementTest

This commit is contained in:
Anastasiya Shadrina
2021-11-10 19:11:34 +07:00
committed by TeamCityServer
parent 2e97e78e6a
commit 6f2b1ecb09
3 changed files with 15 additions and 7 deletions
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.serialization package org.jetbrains.kotlin.serialization
import org.jetbrains.kotlin.config.AnalysisFlag import org.jetbrains.kotlin.config.AnalysisFlag
import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.config.LanguageVersion import org.jetbrains.kotlin.config.LanguageVersion
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassDescriptor
@@ -32,11 +33,12 @@ abstract class AbstractVersionRequirementTest : TestCaseWithTmpdir() {
analysisFlags: Map<AnalysisFlag<*>, Any?> = emptyMap(), analysisFlags: Map<AnalysisFlag<*>, Any?> = emptyMap(),
fqNamesWithRequirements: List<String>, fqNamesWithRequirements: List<String>,
fqNamesWithoutRequirement: List<String> = emptyList(), fqNamesWithoutRequirement: List<String> = emptyList(),
shouldBeSingleRequirement: Boolean = true shouldBeSingleRequirement: Boolean = true,
specificFeatures: Map<LanguageFeature, LanguageFeature.State> = emptyMap()
) { ) {
compileFiles( compileFiles(
listOf(File("compiler/testData/versionRequirement/${getTestName(true)}.kt")), listOf(File("compiler/testData/versionRequirement/${getTestName(true)}.kt")),
tmpdir, customLanguageVersion, analysisFlags tmpdir, customLanguageVersion, analysisFlags, specificFeatures
) )
val module = loadModule(tmpdir) val module = loadModule(tmpdir)
@@ -116,7 +118,8 @@ abstract class AbstractVersionRequirementTest : TestCaseWithTmpdir() {
files: List<File>, files: List<File>,
outputDirectory: File, outputDirectory: File,
languageVersion: LanguageVersion, languageVersion: LanguageVersion,
analysisFlags: Map<AnalysisFlag<*>, Any?> analysisFlags: Map<AnalysisFlag<*>, Any?>,
specificFeatures: Map<LanguageFeature, LanguageFeature.State>
) )
protected abstract fun loadModule(directory: File): ModuleDescriptor protected abstract fun loadModule(directory: File): ModuleDescriptor
@@ -35,7 +35,8 @@ class JvmVersionRequirementTest : AbstractVersionRequirementTest() {
files: List<File>, files: List<File>,
outputDirectory: File, outputDirectory: File,
languageVersion: LanguageVersion, languageVersion: LanguageVersion,
analysisFlags: Map<AnalysisFlag<*>, Any?> analysisFlags: Map<AnalysisFlag<*>, Any?>,
specificFeatures: Map<LanguageFeature, LanguageFeature.State>
) { ) {
LoadDescriptorUtil.compileKotlinToDirAndGetModule( LoadDescriptorUtil.compileKotlinToDirAndGetModule(
listOf(File("compiler/testData/versionRequirement/${getTestName(true)}.kt")), outputDirectory, listOf(File("compiler/testData/versionRequirement/${getTestName(true)}.kt")), outputDirectory,
@@ -47,7 +48,7 @@ class JvmVersionRequirementTest : AbstractVersionRequirementTest() {
languageVersion, languageVersion,
ApiVersion.createByLanguageVersion(languageVersion), ApiVersion.createByLanguageVersion(languageVersion),
analysisFlags.toMap() + mapOf(AnalysisFlags.explicitApiVersion to true), analysisFlags.toMap() + mapOf(AnalysisFlags.explicitApiVersion to true),
emptyMap() specificFeatures
) )
}, },
EnvironmentConfigFiles.JVM_CONFIG_FILES EnvironmentConfigFiles.JVM_CONFIG_FILES
@@ -180,7 +181,10 @@ class JvmVersionRequirementTest : AbstractVersionRequirementTest() {
"test.topLevelFunWithCR", "test.topLevelFunWithCR",
"test.topLevelPropWithCR" "test.topLevelPropWithCR"
), ),
customLanguageVersion = LanguageVersion.KOTLIN_1_7 customLanguageVersion = LanguageVersion.KOTLIN_1_7,
specificFeatures = mapOf(
LanguageFeature.ContextReceivers to LanguageFeature.State.ENABLED
)
) )
} }
} }
@@ -36,7 +36,8 @@ class JsVersionRequirementTest : AbstractVersionRequirementTest() {
files: List<File>, files: List<File>,
outputDirectory: File, outputDirectory: File,
languageVersion: LanguageVersion, languageVersion: LanguageVersion,
analysisFlags: Map<AnalysisFlag<*>, Any?> analysisFlags: Map<AnalysisFlag<*>, Any?>,
specificFeatures: Map<LanguageFeature, LanguageFeature.State>
) { ) {
val environment = createEnvironment(languageVersion) val environment = createEnvironment(languageVersion)
val ktFiles = files.map { file -> val ktFiles = files.map { file ->