[Test] Register some identical checkers for specific handlers
- `FirIrDumpIdenticalChecker` for
- `IrTextDumpHandler`
- `IrPrettyKotlinDumpHandler`
- `FirIrSourceRangesIdenticalChecker` for
- `IrSourceRangesDumpHandler`
- `FirIdenticalChecker` for
- `FirDiagnosticsHandler`
This commit is contained in:
committed by
Space Team
parent
ad27d04e68
commit
e3dc0f0fa3
+6
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.test.backend.handlers
|
|||||||
import org.jetbrains.kotlin.ir.util.FakeOverridesStrategy
|
import org.jetbrains.kotlin.ir.util.FakeOverridesStrategy
|
||||||
import org.jetbrains.kotlin.ir.util.KotlinLikeDumpOptions
|
import org.jetbrains.kotlin.ir.util.KotlinLikeDumpOptions
|
||||||
import org.jetbrains.kotlin.ir.util.dumpKotlinLike
|
import org.jetbrains.kotlin.ir.util.dumpKotlinLike
|
||||||
|
import org.jetbrains.kotlin.test.Constructor
|
||||||
import org.jetbrains.kotlin.test.backend.handlers.IrTextDumpHandler.Companion.computeDumpExtension
|
import org.jetbrains.kotlin.test.backend.handlers.IrTextDumpHandler.Companion.computeDumpExtension
|
||||||
import org.jetbrains.kotlin.test.backend.handlers.IrTextDumpHandler.Companion.groupWithTestFiles
|
import org.jetbrains.kotlin.test.backend.handlers.IrTextDumpHandler.Companion.groupWithTestFiles
|
||||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||||
@@ -17,8 +18,10 @@ import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.EXTERNAL_FILE
|
|||||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.SKIP_KT_DUMP
|
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.SKIP_KT_DUMP
|
||||||
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
|
||||||
|
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||||
import org.jetbrains.kotlin.test.model.BackendKind
|
import org.jetbrains.kotlin.test.model.BackendKind
|
||||||
import org.jetbrains.kotlin.test.model.TestModule
|
import org.jetbrains.kotlin.test.model.TestModule
|
||||||
|
import org.jetbrains.kotlin.test.services.ServiceRegistrationData
|
||||||
import org.jetbrains.kotlin.test.services.TestServices
|
import org.jetbrains.kotlin.test.services.TestServices
|
||||||
import org.jetbrains.kotlin.test.services.moduleStructure
|
import org.jetbrains.kotlin.test.services.moduleStructure
|
||||||
import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper
|
import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper
|
||||||
@@ -44,6 +47,9 @@ class IrPrettyKotlinDumpHandler(
|
|||||||
override val directiveContainers: List<DirectivesContainer>
|
override val directiveContainers: List<DirectivesContainer>
|
||||||
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
||||||
|
|
||||||
|
override val additionalAfterAnalysisCheckers: List<Constructor<AfterAnalysisChecker>>
|
||||||
|
get() = listOf(::FirIrDumpIdenticalChecker)
|
||||||
|
|
||||||
override fun processModule(module: TestModule, info: IrBackendInput) {
|
override fun processModule(module: TestModule, info: IrBackendInput) {
|
||||||
if (DUMP_KT_IR !in module.directives || SKIP_KT_DUMP in module.directives) return
|
if (DUMP_KT_IR !in module.directives || SKIP_KT_DUMP in module.directives) return
|
||||||
dumpModuleKotlinLike(
|
dumpModuleKotlinLike(
|
||||||
|
|||||||
+5
@@ -13,10 +13,12 @@ import org.jetbrains.kotlin.ir.util.RenderIrElementVisitor
|
|||||||
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
|
||||||
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
|
||||||
import org.jetbrains.kotlin.ir.visitors.acceptVoid
|
import org.jetbrains.kotlin.ir.visitors.acceptVoid
|
||||||
|
import org.jetbrains.kotlin.test.Constructor
|
||||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
||||||
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
|
||||||
|
import org.jetbrains.kotlin.test.model.AfterAnalysisChecker
|
||||||
import org.jetbrains.kotlin.test.model.BackendKind
|
import org.jetbrains.kotlin.test.model.BackendKind
|
||||||
import org.jetbrains.kotlin.test.model.TestModule
|
import org.jetbrains.kotlin.test.model.TestModule
|
||||||
import org.jetbrains.kotlin.test.services.TestServices
|
import org.jetbrains.kotlin.test.services.TestServices
|
||||||
@@ -37,6 +39,9 @@ class IrSourceRangesDumpHandler(
|
|||||||
override val directiveContainers: List<DirectivesContainer>
|
override val directiveContainers: List<DirectivesContainer>
|
||||||
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
||||||
|
|
||||||
|
override val additionalAfterAnalysisCheckers: List<Constructor<AfterAnalysisChecker>>
|
||||||
|
get() = listOf(::FirIrSourceRangesIdenticalChecker)
|
||||||
|
|
||||||
private val baseDumper = MultiModuleInfoDumper()
|
private val baseDumper = MultiModuleInfoDumper()
|
||||||
private val buildersForSeparateFileDumps: MutableMap<File, StringBuilder> = mutableMapOf()
|
private val buildersForSeparateFileDumps: MutableMap<File, StringBuilder> = mutableMapOf()
|
||||||
|
|
||||||
|
|||||||
+4
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.ir.util.dump
|
|||||||
import org.jetbrains.kotlin.ir.util.dumpTreesFromLineNumber
|
import org.jetbrains.kotlin.ir.util.dumpTreesFromLineNumber
|
||||||
import org.jetbrains.kotlin.name.ClassId
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
import org.jetbrains.kotlin.test.Constructor
|
||||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
|
||||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_EXTERNAL_CLASS
|
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_EXTERNAL_CLASS
|
||||||
@@ -78,6 +79,9 @@ class IrTextDumpHandler(
|
|||||||
override val directiveContainers: List<DirectivesContainer>
|
override val directiveContainers: List<DirectivesContainer>
|
||||||
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
||||||
|
|
||||||
|
override val additionalAfterAnalysisCheckers: List<Constructor<AfterAnalysisChecker>>
|
||||||
|
get() = listOf(::FirIrDumpIdenticalChecker)
|
||||||
|
|
||||||
private val baseDumper = MultiModuleInfoDumper()
|
private val baseDumper = MultiModuleInfoDumper()
|
||||||
private val buildersForSeparateFileDumps: MutableMap<File, StringBuilder> = mutableMapOf()
|
private val buildersForSeparateFileDumps: MutableMap<File, StringBuilder> = mutableMapOf()
|
||||||
|
|
||||||
|
|||||||
+5
@@ -44,6 +44,7 @@ import org.jetbrains.kotlin.platform.konan.isNative
|
|||||||
import org.jetbrains.kotlin.psi.KtBinaryExpression
|
import org.jetbrains.kotlin.psi.KtBinaryExpression
|
||||||
import org.jetbrains.kotlin.psi.KtQualifiedExpression
|
import org.jetbrains.kotlin.psi.KtQualifiedExpression
|
||||||
import org.jetbrains.kotlin.resolve.AnalyzingUtils
|
import org.jetbrains.kotlin.resolve.AnalyzingUtils
|
||||||
|
import org.jetbrains.kotlin.test.Constructor
|
||||||
import org.jetbrains.kotlin.test.FirParser
|
import org.jetbrains.kotlin.test.FirParser
|
||||||
import org.jetbrains.kotlin.test.directives.AdditionalFilesDirectives
|
import org.jetbrains.kotlin.test.directives.AdditionalFilesDirectives
|
||||||
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives
|
import org.jetbrains.kotlin.test.directives.DiagnosticsDirectives
|
||||||
@@ -53,6 +54,7 @@ import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
|
|||||||
import org.jetbrains.kotlin.test.directives.model.SimpleDirective
|
import org.jetbrains.kotlin.test.directives.model.SimpleDirective
|
||||||
import org.jetbrains.kotlin.test.directives.model.singleValue
|
import org.jetbrains.kotlin.test.directives.model.singleValue
|
||||||
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
|
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
|
||||||
|
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.model.TestModule
|
import org.jetbrains.kotlin.test.model.TestModule
|
||||||
import org.jetbrains.kotlin.test.runners.lightTreeSyntaxDiagnosticsReporterHolder
|
import org.jetbrains.kotlin.test.runners.lightTreeSyntaxDiagnosticsReporterHolder
|
||||||
@@ -106,6 +108,9 @@ class FirDiagnosticsHandler(testServices: TestServices) : FirAnalysisHandler(tes
|
|||||||
override val additionalServices: List<ServiceRegistrationData> =
|
override val additionalServices: List<ServiceRegistrationData> =
|
||||||
listOf(service(::DiagnosticsService), service(::FirDiagnosticCollectorService))
|
listOf(service(::DiagnosticsService), service(::FirDiagnosticCollectorService))
|
||||||
|
|
||||||
|
override val additionalAfterAnalysisCheckers: List<Constructor<AfterAnalysisChecker>>
|
||||||
|
get() = listOf(::FirIdenticalChecker)
|
||||||
|
|
||||||
private val fullDiagnosticsRenderer = FullDiagnosticsRenderer(DiagnosticsDirectives.RENDER_DIAGNOSTICS_FULL_TEXT)
|
private val fullDiagnosticsRenderer = FullDiagnosticsRenderer(DiagnosticsDirectives.RENDER_DIAGNOSTICS_FULL_TEXT)
|
||||||
|
|
||||||
override fun processAfterAllModules(someAssertionWasFailed: Boolean) {
|
override fun processAfterAllModules(someAssertionWasFailed: Boolean) {
|
||||||
|
|||||||
-1
@@ -101,7 +101,6 @@ fun TestConfigurationBuilder.configurationForClassicAndFirTestsAlongside(
|
|||||||
testDataConsistencyHandler: Constructor<AfterAnalysisChecker> = ::FirTestDataConsistencyHandler,
|
testDataConsistencyHandler: Constructor<AfterAnalysisChecker> = ::FirTestDataConsistencyHandler,
|
||||||
) {
|
) {
|
||||||
useAfterAnalysisCheckers(
|
useAfterAnalysisCheckers(
|
||||||
::FirIdenticalChecker,
|
|
||||||
::FirFailingTestSuppressor,
|
::FirFailingTestSuppressor,
|
||||||
testDataConsistencyHandler,
|
testDataConsistencyHandler,
|
||||||
)
|
)
|
||||||
|
|||||||
-1
@@ -42,7 +42,6 @@ fun TestConfigurationBuilder.baseFirSpecDiagnosticTestConfiguration(baseDir: Str
|
|||||||
useAdditionalSourceProviders(::SpecHelpersSourceFilesProvider.bind(baseDir))
|
useAdditionalSourceProviders(::SpecHelpersSourceFilesProvider.bind(baseDir))
|
||||||
|
|
||||||
useAfterAnalysisCheckers(
|
useAfterAnalysisCheckers(
|
||||||
::FirIdenticalChecker,
|
|
||||||
::FirTestDataConsistencyHandler,
|
::FirTestDataConsistencyHandler,
|
||||||
::FirFailingTestSuppressor,
|
::FirFailingTestSuppressor,
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-4
@@ -54,10 +54,7 @@ abstract class AbstractFirForeignAnnotationsTestBase(
|
|||||||
}
|
}
|
||||||
|
|
||||||
forTestsMatching("compiler/testData/diagnostics/*") {
|
forTestsMatching("compiler/testData/diagnostics/*") {
|
||||||
useAfterAnalysisCheckers(
|
useAfterAnalysisCheckers(::FirFailingTestSuppressor)
|
||||||
::FirIdenticalChecker,
|
|
||||||
::FirFailingTestSuppressor,
|
|
||||||
)
|
|
||||||
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
|
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-3
@@ -74,9 +74,6 @@ open class AbstractFirScriptCodegenTest : AbstractKotlinCompilerWithTargetBacken
|
|||||||
useHandlers(
|
useHandlers(
|
||||||
::FirDiagnosticsHandler
|
::FirDiagnosticsHandler
|
||||||
)
|
)
|
||||||
useAfterAnalysisCheckers(
|
|
||||||
::FirIrDumpIdenticalChecker,
|
|
||||||
)
|
|
||||||
commonFirHandlersForCodegenTest()
|
commonFirHandlersForCodegenTest()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-1
@@ -108,7 +108,6 @@ fun TestConfigurationBuilder.applyDumpSmapDirective() {
|
|||||||
fun TestConfigurationBuilder.configureDumpHandlersForCodegenTest() {
|
fun TestConfigurationBuilder.configureDumpHandlersForCodegenTest() {
|
||||||
configureIrHandlersStep {
|
configureIrHandlersStep {
|
||||||
dumpHandlersForConverterStep()
|
dumpHandlersForConverterStep()
|
||||||
useAfterAnalysisCheckers(::FirIrDumpIdenticalChecker)
|
|
||||||
}
|
}
|
||||||
configureJvmArtifactsHandlersStep {
|
configureJvmArtifactsHandlersStep {
|
||||||
dumpHandlersForBackendStep()
|
dumpHandlersForBackendStep()
|
||||||
|
|||||||
-4
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.test.runners.ir
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.test.Constructor
|
import org.jetbrains.kotlin.test.Constructor
|
||||||
import org.jetbrains.kotlin.test.FirParser
|
import org.jetbrains.kotlin.test.FirParser
|
||||||
import org.jetbrains.kotlin.test.backend.handlers.FirIrSourceRangesIdenticalChecker
|
|
||||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||||
@@ -37,9 +36,6 @@ abstract class AbstractFirJvmIrSourceRangesTest(
|
|||||||
super.configure(builder)
|
super.configure(builder)
|
||||||
with(builder) {
|
with(builder) {
|
||||||
configureFirParser(parser)
|
configureFirParser(parser)
|
||||||
useAfterAnalysisCheckers(
|
|
||||||
::FirIrSourceRangesIdenticalChecker,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-4
@@ -113,10 +113,6 @@ abstract class AbstractIrTextTest<FrontendOutput : ResultingArtifact.FrontendOut
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
useAfterAnalysisCheckers(
|
|
||||||
::FirIrDumpIdenticalChecker,
|
|
||||||
)
|
|
||||||
|
|
||||||
forTestsMatching("compiler/testData/ir/irText/properties/backingField/*") {
|
forTestsMatching("compiler/testData/ir/irText/properties/backingField/*") {
|
||||||
defaultDirectives {
|
defaultDirectives {
|
||||||
LanguageSettingsDirectives.LANGUAGE with "+ExplicitBackingFields"
|
LanguageSettingsDirectives.LANGUAGE with "+ExplicitBackingFields"
|
||||||
|
|||||||
+1
-4
@@ -28,10 +28,7 @@ abstract class AbstractFirParcelizeDiagnosticTestBase(val parser: FirParser) : A
|
|||||||
|
|
||||||
useConfigurators(::ParcelizeEnvironmentConfigurator)
|
useConfigurators(::ParcelizeEnvironmentConfigurator)
|
||||||
|
|
||||||
useAfterAnalysisCheckers(
|
useAfterAnalysisCheckers(::FirFailingTestSuppressor)
|
||||||
::FirIdenticalChecker,
|
|
||||||
::FirFailingTestSuppressor,
|
|
||||||
)
|
|
||||||
|
|
||||||
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
|
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.test.Constructor
|
|||||||
import org.jetbrains.kotlin.test.FirParser
|
import org.jetbrains.kotlin.test.FirParser
|
||||||
import org.jetbrains.kotlin.test.TargetBackend
|
import org.jetbrains.kotlin.test.TargetBackend
|
||||||
import org.jetbrains.kotlin.test.backend.BlackBoxCodegenSuppressor
|
import org.jetbrains.kotlin.test.backend.BlackBoxCodegenSuppressor
|
||||||
import org.jetbrains.kotlin.test.backend.handlers.FirIrDumpIdenticalChecker
|
|
||||||
import org.jetbrains.kotlin.test.backend.handlers.IrTextDumpHandler
|
import org.jetbrains.kotlin.test.backend.handlers.IrTextDumpHandler
|
||||||
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
|
||||||
import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
|
import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
|
||||||
@@ -82,7 +81,7 @@ abstract class AbstractParcelizeBoxTestBase<R : ResultingArtifact.FrontendOutput
|
|||||||
|
|
||||||
useAdditionalServices(service<JvmBoxMainClassProvider>(::ParcelizeMainClassProvider))
|
useAdditionalServices(service<JvmBoxMainClassProvider>(::ParcelizeMainClassProvider))
|
||||||
|
|
||||||
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor, ::FirIrDumpIdenticalChecker)
|
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor)
|
||||||
|
|
||||||
enableMetaInfoHandler()
|
enableMetaInfoHandler()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user