[JS IR] Unmute all fir invalidation tests
This commit is contained in:
committed by
Space Team
parent
9da9c95105
commit
2aea5822b2
@@ -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(
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
const val FOO = 1
|
||||
@@ -0,0 +1,3 @@
|
||||
private const val BAR = 2
|
||||
|
||||
const val FOO = 1 + BAR
|
||||
@@ -4,3 +4,11 @@ STEP 1:
|
||||
modifications:
|
||||
U : l1.1.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : l1.2.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : l1.3.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
STEP 0:
|
||||
dependencies: lib1
|
||||
added file: l2.kt
|
||||
STEP 1..3:
|
||||
dependencies: lib1
|
||||
modified ir: l2.kt
|
||||
@@ -4,3 +4,9 @@ STEP 0:
|
||||
STEP 1:
|
||||
dependencies: lib1
|
||||
updated imports: l2.kt
|
||||
STEP 2:
|
||||
dependencies: lib1
|
||||
modified ir: l2.kt
|
||||
STEP 3:
|
||||
dependencies: lib1
|
||||
updated imports: l2.kt
|
||||
|
||||
@@ -1,12 +1,22 @@
|
||||
fun box(stepId: Int): String {
|
||||
val q: Any = qux()
|
||||
val b: Any = bar()
|
||||
when (stepId) {
|
||||
0 -> {
|
||||
if (qux() != "FOO") return "Fail qux"
|
||||
if (bar() != "FOO") return "Fail bar"
|
||||
if (q != "FOO") return "Fail qux"
|
||||
if (b != "FOO") return "Fail bar"
|
||||
}
|
||||
1 -> {
|
||||
if (qux() != "BAR") return "Fail qux"
|
||||
if (bar() != "BAR") return "Fail bar"
|
||||
if (q != "BAR") return "Fail qux"
|
||||
if (b != "BAR") return "Fail bar"
|
||||
}
|
||||
2 -> {
|
||||
if (q != 1) return "Fail qux"
|
||||
if (b != 1) return "Fail bar"
|
||||
}
|
||||
3 -> {
|
||||
if (q != 3) return "Fail qux"
|
||||
if (b != 3) return "Fail bar"
|
||||
}
|
||||
else -> return "Unknown"
|
||||
}
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
STEP 0:
|
||||
dependencies: lib1, lib2
|
||||
added file: m.kt
|
||||
STEP 1:
|
||||
dependencies: lib1, lib2
|
||||
updated imports: m.kt
|
||||
STEP 2:
|
||||
dependencies: lib1, lib2
|
||||
modified ir: m.kt
|
||||
STEP 3:
|
||||
dependencies: lib1, lib2
|
||||
updated imports: m.kt
|
||||
@@ -3,3 +3,8 @@ STEP 0:
|
||||
added file: m.kt
|
||||
STEP 1:
|
||||
dependencies: lib1, lib2
|
||||
STEP 2:
|
||||
dependencies: lib1, lib2
|
||||
modified ir: m.kt
|
||||
STEP 3:
|
||||
dependencies: lib1, lib2
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0..3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
@@ -6,3 +6,9 @@ STEP 0:
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2, main
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js: lib1, lib2
|
||||
|
||||
+4
@@ -1,4 +1,8 @@
|
||||
@kotlin.ExperimentalStdlibApi
|
||||
fun testEnumEntries(stepId: Int): Boolean {
|
||||
when (stepId) {
|
||||
0, 1, 2, 3 -> return true
|
||||
else -> return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
Vendored
+34
@@ -0,0 +1,34 @@
|
||||
STEP 0:
|
||||
modifications:
|
||||
U : l1.0.kt -> l1.kt
|
||||
U : js.0.kt -> js.kt
|
||||
U : test.0.kt -> test.kt
|
||||
added file: l1.kt, js.kt, test.kt
|
||||
STEP 1:
|
||||
modifications:
|
||||
U : js.1.kt -> js.kt
|
||||
modified ir: js.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : js.2.kt -> js.kt
|
||||
modified ir: js.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : l1.3.kt -> l1.kt
|
||||
modified ir: l1.kt, js.kt
|
||||
STEP 4:
|
||||
modifications:
|
||||
U : test.4.kt -> test.kt
|
||||
modified ir: test.kt
|
||||
STEP 5:
|
||||
modifications:
|
||||
U : l1.5.kt -> l1.kt
|
||||
modified ir: l1.kt, js.kt
|
||||
STEP 6:
|
||||
modifications:
|
||||
U : js.6.kt -> js.kt
|
||||
modified ir: js.kt
|
||||
STEP 7:
|
||||
modifications:
|
||||
U : l1.7.kt -> l1.kt
|
||||
modified ir: l1.kt, js.kt
|
||||
Reference in New Issue
Block a user