[FIR-TEST] Add coroutines diagnostic tests from old FE to FIR test suite
This commit is contained in:
@@ -281,6 +281,7 @@ abstract class AbstractDiagnosticsTest : BaseDiagnosticsTest() {
|
||||
val testRunner = object : AbstractFirOldFrontendDiagnosticsTest() {
|
||||
init {
|
||||
environment = this@AbstractDiagnosticsTest.environment
|
||||
coroutinesPackage = this@AbstractDiagnosticsTest.coroutinesPackage
|
||||
}
|
||||
}
|
||||
if (testDataFile.readText().contains("// FIR_IDENTICAL")) {
|
||||
|
||||
+2
-1
@@ -4,6 +4,7 @@
|
||||
*/
|
||||
package org.jetbrains.kotlin.checkers
|
||||
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||
import java.io.File
|
||||
|
||||
@@ -15,6 +16,6 @@ abstract class AbstractDiagnosticsTestWithStdLib : AbstractDiagnosticsTest() {
|
||||
|
||||
override fun shouldValidateFirTestData(testDataFile: File): Boolean {
|
||||
val path = testDataFile.absolutePath
|
||||
return !path.endsWith(".kts") && !path.contains("coroutines")
|
||||
return !path.endsWith(".kts") && coroutinesPackage != DescriptorUtils.COROUTINES_PACKAGE_FQ_NAME_EXPERIMENTAL.asString()
|
||||
}
|
||||
}
|
||||
@@ -64,10 +64,14 @@ import java.io.File
|
||||
abstract class AbstractFirDiagnosticsTest : AbstractFirBaseDiagnosticsTest() {
|
||||
companion object {
|
||||
val DUMP_CFG_DIRECTIVE = "DUMP_CFG"
|
||||
val COMMON_COROUTINES_DIRECTIVE ="COMMON_COROUTINES_TEST"
|
||||
|
||||
val TestFile.withDumpCfgDirective: Boolean
|
||||
get() = DUMP_CFG_DIRECTIVE in directives
|
||||
|
||||
val TestFile.withCommonCoroutinesDirective: Boolean
|
||||
get() = COMMON_COROUTINES_DIRECTIVE in directives
|
||||
|
||||
val File.cfgDumpFile: File
|
||||
get() = File(absolutePath.replace(".kt", ".dot"))
|
||||
}
|
||||
@@ -110,7 +114,7 @@ abstract class AbstractFirDiagnosticsTest : AbstractFirBaseDiagnosticsTest() {
|
||||
|
||||
protected open fun checkDiagnostics(file: File, testFiles: List<TestFile>, firFiles: List<FirFile>) {
|
||||
val diagnostics = collectDiagnostics(firFiles)
|
||||
val actualText = StringBuilder()
|
||||
val actualTextBuilder = StringBuilder()
|
||||
for (testFile in testFiles) {
|
||||
val firFile = firFiles.firstOrNull { it.psi == testFile.ktFile }
|
||||
if (firFile != null) {
|
||||
@@ -118,13 +122,17 @@ abstract class AbstractFirDiagnosticsTest : AbstractFirBaseDiagnosticsTest() {
|
||||
collectDebugInfoDiagnostics(firFile, testFile.diagnosedRangesToDiagnosticNames)
|
||||
testFile.getActualText(
|
||||
diagnostics.getValue(firFile) + debugInfoDiagnostics,
|
||||
actualText,
|
||||
actualTextBuilder,
|
||||
)
|
||||
} else {
|
||||
actualText.append(testFile.expectedText)
|
||||
actualTextBuilder.append(testFile.expectedText)
|
||||
}
|
||||
}
|
||||
KotlinTestUtils.assertEqualsToFile(file, actualText.toString())
|
||||
var actualText = actualTextBuilder.toString()
|
||||
if (testFiles.any { it.withCommonCoroutinesDirective }) {
|
||||
actualText = actualText.replace(coroutinesPackage, "COROUTINES_PACKAGE")
|
||||
}
|
||||
KotlinTestUtils.assertEqualsToFile(file, actualText)
|
||||
}
|
||||
|
||||
protected fun collectDebugInfoDiagnostics(
|
||||
|
||||
Reference in New Issue
Block a user