JS: remove MULTIPLATFORM directive from box tests
Move all sources into one module and use "!LANGUAGE: +MultiPlatformProjects" instead
This commit is contained in:
@@ -30,7 +30,10 @@ import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector
|
|||||||
import org.jetbrains.kotlin.cli.common.output.outputUtils.writeAllTo
|
import org.jetbrains.kotlin.cli.common.output.outputUtils.writeAllTo
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||||
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
|
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||||
import org.jetbrains.kotlin.incremental.js.IncrementalDataProviderImpl
|
import org.jetbrains.kotlin.incremental.js.IncrementalDataProviderImpl
|
||||||
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumerImpl
|
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumerImpl
|
||||||
@@ -118,7 +121,6 @@ abstract class BasicBoxTest(
|
|||||||
|
|
||||||
val outputFileName = module.outputFileName(outputDir) + ".js"
|
val outputFileName = module.outputFileName(outputDir) + ".js"
|
||||||
generateJavaScriptFile(file.parent, module, outputFileName, dependencies, friends, modules.size > 1,
|
generateJavaScriptFile(file.parent, module, outputFileName, dependencies, friends, modules.size > 1,
|
||||||
ENABLE_MULTIPLATFORM.matcher(fileContent).find(),
|
|
||||||
!SKIP_SOURCEMAP_REMAPPING.matcher(fileContent).find(),
|
!SKIP_SOURCEMAP_REMAPPING.matcher(fileContent).find(),
|
||||||
outputPrefixFile, outputPostfixFile, mainCallParameters)
|
outputPrefixFile, outputPostfixFile, mainCallParameters)
|
||||||
|
|
||||||
@@ -286,7 +288,6 @@ abstract class BasicBoxTest(
|
|||||||
dependencies: List<String>,
|
dependencies: List<String>,
|
||||||
friends: List<String>,
|
friends: List<String>,
|
||||||
multiModule: Boolean,
|
multiModule: Boolean,
|
||||||
multiplatform: Boolean,
|
|
||||||
remap: Boolean,
|
remap: Boolean,
|
||||||
outputPrefixFile: File?,
|
outputPrefixFile: File?,
|
||||||
outputPostfixFile: File?,
|
outputPostfixFile: File?,
|
||||||
@@ -306,7 +307,7 @@ abstract class BasicBoxTest(
|
|||||||
val psiFiles = createPsiFiles(allSourceFiles.sortedBy { it.canonicalPath }.map { it.canonicalPath })
|
val psiFiles = createPsiFiles(allSourceFiles.sortedBy { it.canonicalPath }.map { it.canonicalPath })
|
||||||
|
|
||||||
val sourceDirs = (testFiles + additionalFiles).map { File(it).parent }.distinct()
|
val sourceDirs = (testFiles + additionalFiles).map { File(it).parent }.distinct()
|
||||||
val config = createConfig(sourceDirs, module, dependencies, friends, multiModule, multiplatform, incrementalData = null)
|
val config = createConfig(sourceDirs, module, dependencies, friends, multiModule, incrementalData = null)
|
||||||
val outputFile = File(outputFileName)
|
val outputFile = File(outputFileName)
|
||||||
|
|
||||||
val incrementalData = IncrementalData()
|
val incrementalData = IncrementalData()
|
||||||
@@ -314,7 +315,7 @@ abstract class BasicBoxTest(
|
|||||||
mainCallParameters, incrementalData, remap)
|
mainCallParameters, incrementalData, remap)
|
||||||
|
|
||||||
if (module.hasFilesToRecompile) {
|
if (module.hasFilesToRecompile) {
|
||||||
checkIncrementalCompilation(sourceDirs, module, kotlinFiles, dependencies, friends, multiModule, multiplatform, remap,
|
checkIncrementalCompilation(sourceDirs, module, kotlinFiles, dependencies, friends, multiModule, remap,
|
||||||
outputFile, outputPrefixFile, outputPostfixFile, mainCallParameters, incrementalData)
|
outputFile, outputPrefixFile, outputPostfixFile, mainCallParameters, incrementalData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -326,7 +327,6 @@ abstract class BasicBoxTest(
|
|||||||
dependencies: List<String>,
|
dependencies: List<String>,
|
||||||
friends: List<String>,
|
friends: List<String>,
|
||||||
multiModule: Boolean,
|
multiModule: Boolean,
|
||||||
multiplatform: Boolean,
|
|
||||||
remap: Boolean,
|
remap: Boolean,
|
||||||
outputFile: File,
|
outputFile: File,
|
||||||
outputPrefixFile: File?,
|
outputPrefixFile: File?,
|
||||||
@@ -349,7 +349,7 @@ abstract class BasicBoxTest(
|
|||||||
.sortedBy { it.canonicalPath }
|
.sortedBy { it.canonicalPath }
|
||||||
.map { sourceToTranslationUnit[it]!! }
|
.map { sourceToTranslationUnit[it]!! }
|
||||||
|
|
||||||
val recompiledConfig = createConfig(sourceDirs, module, dependencies, friends, multiModule, multiplatform, incrementalData)
|
val recompiledConfig = createConfig(sourceDirs, module, dependencies, friends, multiModule, incrementalData)
|
||||||
val recompiledOutputFile = File(outputFile.parentFile, outputFile.nameWithoutExtension + "-recompiled.js")
|
val recompiledOutputFile = File(outputFile.parentFile, outputFile.nameWithoutExtension + "-recompiled.js")
|
||||||
|
|
||||||
translateFiles(translationUnits, recompiledOutputFile, recompiledConfig, outputPrefixFile, outputPostfixFile,
|
translateFiles(translationUnits, recompiledOutputFile, recompiledConfig, outputPrefixFile, outputPostfixFile,
|
||||||
@@ -528,8 +528,8 @@ abstract class BasicBoxTest(
|
|||||||
private fun createPsiFiles(fileNames: List<String>): List<KtFile> = fileNames.map(this::createPsiFile)
|
private fun createPsiFiles(fileNames: List<String>): List<KtFile> = fileNames.map(this::createPsiFile)
|
||||||
|
|
||||||
private fun createConfig(
|
private fun createConfig(
|
||||||
sourceDirs: List<String>,module: TestModule, dependencies: List<String>, friends: List<String>,
|
sourceDirs: List<String>, module: TestModule, dependencies: List<String>, friends: List<String>,
|
||||||
multiModule: Boolean, multiplatform: Boolean, incrementalData: IncrementalData?
|
multiModule: Boolean, incrementalData: IncrementalData?
|
||||||
): JsConfig {
|
): JsConfig {
|
||||||
val configuration = environment.configuration.copy()
|
val configuration = environment.configuration.copy()
|
||||||
|
|
||||||
@@ -562,15 +562,6 @@ abstract class BasicBoxTest(
|
|||||||
|
|
||||||
configuration.put(JSConfigurationKeys.TYPED_ARRAYS_ENABLED, typedArraysEnabled)
|
configuration.put(JSConfigurationKeys.TYPED_ARRAYS_ENABLED, typedArraysEnabled)
|
||||||
|
|
||||||
if (multiplatform) {
|
|
||||||
val defaultLanguageVersionSettings = configuration.languageVersionSettings
|
|
||||||
configuration.languageVersionSettings = object : LanguageVersionSettings by defaultLanguageVersionSettings {
|
|
||||||
override fun getFeatureSupport(feature: LanguageFeature): LanguageFeature.State =
|
|
||||||
if (feature == LanguageFeature.MultiPlatformProjects) LanguageFeature.State.ENABLED
|
|
||||||
else defaultLanguageVersionSettings.getFeatureSupport(feature)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return JsConfig(project, configuration, METADATA_CACHE, (JsConfig.JS_STDLIB + JsConfig.JS_KOTLIN_TEST).toSet())
|
return JsConfig(project, configuration, METADATA_CACHE, (JsConfig.JS_STDLIB + JsConfig.JS_KOTLIN_TEST).toSet())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -720,7 +711,6 @@ abstract class BasicBoxTest(
|
|||||||
private val EXPECTED_REACHABLE_NODES = Pattern.compile("^// *$EXPECTED_REACHABLE_NODES_DIRECTIVE: *([0-9]+) *$", Pattern.MULTILINE)
|
private val EXPECTED_REACHABLE_NODES = Pattern.compile("^// *$EXPECTED_REACHABLE_NODES_DIRECTIVE: *([0-9]+) *$", Pattern.MULTILINE)
|
||||||
private val RECOMPILE_PATTERN = Pattern.compile("^// *RECOMPILE *$", Pattern.MULTILINE)
|
private val RECOMPILE_PATTERN = Pattern.compile("^// *RECOMPILE *$", Pattern.MULTILINE)
|
||||||
private val SOURCE_MAP_SOURCE_EMBEDDING = Regex("^// *SOURCE_MAP_EMBED_SOURCES: ([A-Z]+)*\$", RegexOption.MULTILINE)
|
private val SOURCE_MAP_SOURCE_EMBEDDING = Regex("^// *SOURCE_MAP_EMBED_SOURCES: ([A-Z]+)*\$", RegexOption.MULTILINE)
|
||||||
private val ENABLE_MULTIPLATFORM = Pattern.compile("^// *MULTIPLATFORM *$", Pattern.MULTILINE)
|
|
||||||
|
|
||||||
val TEST_MODULE = "JS_TESTS"
|
val TEST_MODULE = "JS_TESTS"
|
||||||
private val DEFAULT_MODULE = "main"
|
private val DEFAULT_MODULE = "main"
|
||||||
|
|||||||
+1
-3
@@ -1,7 +1,6 @@
|
|||||||
|
// !LANGUAGE: +MultiPlatformProjects
|
||||||
// EXPECTED_REACHABLE_NODES: 1173
|
// EXPECTED_REACHABLE_NODES: 1173
|
||||||
// MULTIPLATFORM
|
|
||||||
|
|
||||||
// MODULE: lib
|
|
||||||
// FILE: lib.kt
|
// FILE: lib.kt
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
@@ -9,7 +8,6 @@ expect class PlatformTest {
|
|||||||
@Test fun platformTest()
|
@Test fun platformTest()
|
||||||
}
|
}
|
||||||
|
|
||||||
// MODULE: main(lib)
|
|
||||||
// FILE: main.kt
|
// FILE: main.kt
|
||||||
import kotlin.test.Test
|
import kotlin.test.Test
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user