[JS IR] Unmute all fir invalidation tests

This commit is contained in:
Alexander Korepanov
2023-04-26 13:13:53 +02:00
committed by Space Team
parent 9da9c95105
commit 2aea5822b2
14 changed files with 125 additions and 10 deletions
@@ -62,6 +62,14 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
private const val SOURCE_MAPPING_URL_PREFIX = "//# sourceMappingURL="
}
open fun getModuleInfoFile(directory: File): File {
return directory.resolve(MODULE_INFO_FILE)
}
open fun getProjectInfoFile(directory: File): File {
return directory.resolve(PROJECT_INFO_FILE)
}
private val zipAccessor = ZipFileSystemCacheableAccessor(2)
protected val environment =
KotlinCoreEnvironment.createForParallelTests(TestDisposable(), CompilerConfiguration(), EnvironmentConfigFiles.JS_CONFIG_FILES)
@@ -85,7 +93,7 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
protected fun runTest(@TestDataFile testPath: String) {
val testDirectory = File(testPath)
val testName = testDirectory.name
val projectInfoFile = File(testDirectory, PROJECT_INFO_FILE)
val projectInfoFile = getProjectInfoFile(testDirectory)
val projectInfo = parseProjectInfo(testName, projectInfoFile)
if (isIgnoredTest(projectInfo)) {
@@ -95,7 +103,7 @@ abstract class AbstractInvalidationTest(private val targetBackend: TargetBackend
val modulesInfos = mutableMapOf<String, ModuleInfo>()
for (module in projectInfo.modules) {
val moduleDirectory = File(testDirectory, module)
val moduleInfo = File(moduleDirectory, MODULE_INFO_FILE)
val moduleInfo = getModuleInfoFile(moduleDirectory)
modulesInfos[module] = parseModuleInfo(module, moduleInfo)
}
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.cli.js.klib.serializeFirKlib
import org.jetbrains.kotlin.cli.js.klib.transformFirToIr
import org.jetbrains.kotlin.codegen.ProjectInfo
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.config.languageVersionSettings
import org.jetbrains.kotlin.diagnostics.DiagnosticReporterFactory
import org.jetbrains.kotlin.ir.backend.js.MainModule
import org.jetbrains.kotlin.ir.backend.js.ModulesStructure
@@ -28,10 +27,18 @@ abstract class FirAbstractInvalidationTest(
targetBackend: TargetBackend,
workingDirPath: String
) : AbstractInvalidationTest(targetBackend, workingDirPath) {
private val mutedTests = setOf("constVals", "enum", "jsCodeWithConstString")
private fun getFirInfoFile(defaultInfoFile: File): File {
val firInfoFileName = "${defaultInfoFile.nameWithoutExtension}.fir.${defaultInfoFile.extension}"
val firInfoFile = defaultInfoFile.parentFile.resolve(firInfoFileName)
return firInfoFile.takeIf { it.exists() } ?: defaultInfoFile
}
override fun isIgnoredTest(projectInfo: ProjectInfo): Boolean {
return super.isIgnoredTest(projectInfo) || projectInfo.name in mutedTests
override fun getModuleInfoFile(directory: File): File {
return getFirInfoFile(super.getModuleInfoFile(directory))
}
override fun getProjectInfoFile(directory: File): File {
return getFirInfoFile(super.getProjectInfoFile(directory))
}
override fun buildKlib(