JS: remove MULTIPLATFORM directive from box tests

Move all sources into one module and use "!LANGUAGE:
+MultiPlatformProjects" instead
This commit is contained in:
Alexander Udalov
2018-01-24 12:14:43 +01:00
parent d465f5fd8e
commit d356f52873
2 changed files with 11 additions and 23 deletions
@@ -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.jvm.compiler.EnvironmentConfigFiles
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.incremental.js.IncrementalDataProviderImpl
import org.jetbrains.kotlin.incremental.js.IncrementalResultsConsumerImpl
@@ -118,7 +121,6 @@ abstract class BasicBoxTest(
val outputFileName = module.outputFileName(outputDir) + ".js"
generateJavaScriptFile(file.parent, module, outputFileName, dependencies, friends, modules.size > 1,
ENABLE_MULTIPLATFORM.matcher(fileContent).find(),
!SKIP_SOURCEMAP_REMAPPING.matcher(fileContent).find(),
outputPrefixFile, outputPostfixFile, mainCallParameters)
@@ -286,7 +288,6 @@ abstract class BasicBoxTest(
dependencies: List<String>,
friends: List<String>,
multiModule: Boolean,
multiplatform: Boolean,
remap: Boolean,
outputPrefixFile: File?,
outputPostfixFile: File?,
@@ -306,7 +307,7 @@ abstract class BasicBoxTest(
val psiFiles = createPsiFiles(allSourceFiles.sortedBy { it.canonicalPath }.map { it.canonicalPath })
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 incrementalData = IncrementalData()
@@ -314,7 +315,7 @@ abstract class BasicBoxTest(
mainCallParameters, incrementalData, remap)
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)
}
}
@@ -326,7 +327,6 @@ abstract class BasicBoxTest(
dependencies: List<String>,
friends: List<String>,
multiModule: Boolean,
multiplatform: Boolean,
remap: Boolean,
outputFile: File,
outputPrefixFile: File?,
@@ -349,7 +349,7 @@ abstract class BasicBoxTest(
.sortedBy { it.canonicalPath }
.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")
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 createConfig(
sourceDirs: List<String>,module: TestModule, dependencies: List<String>, friends: List<String>,
multiModule: Boolean, multiplatform: Boolean, incrementalData: IncrementalData?
sourceDirs: List<String>, module: TestModule, dependencies: List<String>, friends: List<String>,
multiModule: Boolean, incrementalData: IncrementalData?
): JsConfig {
val configuration = environment.configuration.copy()
@@ -562,15 +562,6 @@ abstract class BasicBoxTest(
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())
}
@@ -720,7 +711,6 @@ abstract class BasicBoxTest(
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 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"
private val DEFAULT_MODULE = "main"
+2 -4
View File
@@ -1,7 +1,6 @@
// !LANGUAGE: +MultiPlatformProjects
// EXPECTED_REACHABLE_NODES: 1173
// MULTIPLATFORM
// MODULE: lib
// FILE: lib.kt
import kotlin.test.Test
@@ -9,7 +8,6 @@ expect class PlatformTest {
@Test fun platformTest()
}
// MODULE: main(lib)
// FILE: main.kt
import kotlin.test.Test
@@ -24,4 +22,4 @@ fun box() = checkLog {
test("platformTest")
test("someOtherTest")
}
}
}