Permit overriding the FIR test in FirTestDataConsistencyHandler
This commit is contained in:
+7
-4
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.frontend.classic.handlers
|
package org.jetbrains.kotlin.test.frontend.classic.handlers
|
||||||
|
|
||||||
import org.jetbrains.kotlin.codeMetaInfo.clearTextFromDiagnosticMarkup
|
|
||||||
import org.jetbrains.kotlin.test.WrappedException
|
import org.jetbrains.kotlin.test.WrappedException
|
||||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||||
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
||||||
@@ -13,11 +12,12 @@ import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
|
|||||||
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||||
import org.jetbrains.kotlin.test.model.TestFile
|
import org.jetbrains.kotlin.test.model.TestFile
|
||||||
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
import org.jetbrains.kotlin.test.runners.AbstractFirDiagnosticTest
|
||||||
|
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest
|
||||||
import org.jetbrains.kotlin.test.services.*
|
import org.jetbrains.kotlin.test.services.*
|
||||||
import org.jetbrains.kotlin.test.utils.firTestDataFile
|
import org.jetbrains.kotlin.test.utils.firTestDataFile
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class FirTestDataConsistencyHandler(testServices: TestServices) : AfterAnalysisChecker(testServices) {
|
open class FirTestDataConsistencyHandler(testServices: TestServices) : AfterAnalysisChecker(testServices) {
|
||||||
override val directiveContainers: List<DirectivesContainer>
|
override val directiveContainers: List<DirectivesContainer>
|
||||||
get() = listOf(FirDiagnosticsDirectives)
|
get() = listOf(FirDiagnosticsDirectives)
|
||||||
|
|
||||||
@@ -51,9 +51,12 @@ class FirTestDataConsistencyHandler(testServices: TestServices) : AfterAnalysisC
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun runFirTestAndGeneratedTestData(testData: File, firTestData: File) {
|
private fun runFirTestAndGeneratedTestData(testData: File, firTestData: File) {
|
||||||
firTestData.writeText(clearTextFromDiagnosticMarkup(testData.readText()))
|
firTestData.writeText(testData.preprocessSource())
|
||||||
val test = object : AbstractFirDiagnosticTest() {}
|
val test = correspondingFirTest()
|
||||||
test.initTestInfo(testServices.testInfo.copy(className = "${testServices.testInfo.className}_fir_anonymous"))
|
test.initTestInfo(testServices.testInfo.copy(className = "${testServices.testInfo.className}_fir_anonymous"))
|
||||||
test.runTest(firTestData.absolutePath)
|
test.runTest(firTestData.absolutePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected open fun correspondingFirTest(): AbstractKotlinCompilerTest =
|
||||||
|
object : AbstractFirDiagnosticTest() {}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user