[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.KotlinLikeDumpOptions
|
||||
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.groupWithTestFiles
|
||||
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.FirDiagnosticsDirectives
|
||||
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.TestModule
|
||||
import org.jetbrains.kotlin.test.services.ServiceRegistrationData
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.moduleStructure
|
||||
import org.jetbrains.kotlin.test.utils.MultiModuleInfoDumper
|
||||
@@ -44,6 +47,9 @@ class IrPrettyKotlinDumpHandler(
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
||||
|
||||
override val additionalAfterAnalysisCheckers: List<Constructor<AfterAnalysisChecker>>
|
||||
get() = listOf(::FirIrDumpIdenticalChecker)
|
||||
|
||||
override fun processModule(module: TestModule, info: IrBackendInput) {
|
||||
if (DUMP_KT_IR !in module.directives || SKIP_KT_DUMP in module.directives) return
|
||||
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.acceptChildrenVoid
|
||||
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.directives.CodegenTestDirectives
|
||||
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives
|
||||
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.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
@@ -37,6 +39,9 @@ class IrSourceRangesDumpHandler(
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
||||
|
||||
override val additionalAfterAnalysisCheckers: List<Constructor<AfterAnalysisChecker>>
|
||||
get() = listOf(::FirIrSourceRangesIdenticalChecker)
|
||||
|
||||
private val baseDumper = MultiModuleInfoDumper()
|
||||
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.name.ClassId
|
||||
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.directives.CodegenTestDirectives
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_EXTERNAL_CLASS
|
||||
@@ -78,6 +79,9 @@ class IrTextDumpHandler(
|
||||
override val directiveContainers: List<DirectivesContainer>
|
||||
get() = listOf(CodegenTestDirectives, FirDiagnosticsDirectives)
|
||||
|
||||
override val additionalAfterAnalysisCheckers: List<Constructor<AfterAnalysisChecker>>
|
||||
get() = listOf(::FirIrDumpIdenticalChecker)
|
||||
|
||||
private val baseDumper = MultiModuleInfoDumper()
|
||||
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.KtQualifiedExpression
|
||||
import org.jetbrains.kotlin.resolve.AnalyzingUtils
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
import org.jetbrains.kotlin.test.FirParser
|
||||
import org.jetbrains.kotlin.test.directives.AdditionalFilesDirectives
|
||||
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.singleValue
|
||||
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.TestModule
|
||||
import org.jetbrains.kotlin.test.runners.lightTreeSyntaxDiagnosticsReporterHolder
|
||||
@@ -106,6 +108,9 @@ class FirDiagnosticsHandler(testServices: TestServices) : FirAnalysisHandler(tes
|
||||
override val additionalServices: List<ServiceRegistrationData> =
|
||||
listOf(service(::DiagnosticsService), service(::FirDiagnosticCollectorService))
|
||||
|
||||
override val additionalAfterAnalysisCheckers: List<Constructor<AfterAnalysisChecker>>
|
||||
get() = listOf(::FirIdenticalChecker)
|
||||
|
||||
private val fullDiagnosticsRenderer = FullDiagnosticsRenderer(DiagnosticsDirectives.RENDER_DIAGNOSTICS_FULL_TEXT)
|
||||
|
||||
override fun processAfterAllModules(someAssertionWasFailed: Boolean) {
|
||||
|
||||
-1
@@ -101,7 +101,6 @@ fun TestConfigurationBuilder.configurationForClassicAndFirTestsAlongside(
|
||||
testDataConsistencyHandler: Constructor<AfterAnalysisChecker> = ::FirTestDataConsistencyHandler,
|
||||
) {
|
||||
useAfterAnalysisCheckers(
|
||||
::FirIdenticalChecker,
|
||||
::FirFailingTestSuppressor,
|
||||
testDataConsistencyHandler,
|
||||
)
|
||||
|
||||
-1
@@ -42,7 +42,6 @@ fun TestConfigurationBuilder.baseFirSpecDiagnosticTestConfiguration(baseDir: Str
|
||||
useAdditionalSourceProviders(::SpecHelpersSourceFilesProvider.bind(baseDir))
|
||||
|
||||
useAfterAnalysisCheckers(
|
||||
::FirIdenticalChecker,
|
||||
::FirTestDataConsistencyHandler,
|
||||
::FirFailingTestSuppressor,
|
||||
)
|
||||
|
||||
+1
-4
@@ -54,10 +54,7 @@ abstract class AbstractFirForeignAnnotationsTestBase(
|
||||
}
|
||||
|
||||
forTestsMatching("compiler/testData/diagnostics/*") {
|
||||
useAfterAnalysisCheckers(
|
||||
::FirIdenticalChecker,
|
||||
::FirFailingTestSuppressor,
|
||||
)
|
||||
useAfterAnalysisCheckers(::FirFailingTestSuppressor)
|
||||
useMetaTestConfigurators(::FirOldFrontendMetaConfigurator)
|
||||
}
|
||||
}
|
||||
|
||||
-3
@@ -74,9 +74,6 @@ open class AbstractFirScriptCodegenTest : AbstractKotlinCompilerWithTargetBacken
|
||||
useHandlers(
|
||||
::FirDiagnosticsHandler
|
||||
)
|
||||
useAfterAnalysisCheckers(
|
||||
::FirIrDumpIdenticalChecker,
|
||||
)
|
||||
commonFirHandlersForCodegenTest()
|
||||
}
|
||||
|
||||
|
||||
-1
@@ -108,7 +108,6 @@ fun TestConfigurationBuilder.applyDumpSmapDirective() {
|
||||
fun TestConfigurationBuilder.configureDumpHandlersForCodegenTest() {
|
||||
configureIrHandlersStep {
|
||||
dumpHandlersForConverterStep()
|
||||
useAfterAnalysisCheckers(::FirIrDumpIdenticalChecker)
|
||||
}
|
||||
configureJvmArtifactsHandlersStep {
|
||||
dumpHandlersForBackendStep()
|
||||
|
||||
-4
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.test.runners.ir
|
||||
|
||||
import org.jetbrains.kotlin.test.Constructor
|
||||
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.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.directives.configureFirParser
|
||||
@@ -37,9 +36,6 @@ abstract class AbstractFirJvmIrSourceRangesTest(
|
||||
super.configure(builder)
|
||||
with(builder) {
|
||||
configureFirParser(parser)
|
||||
useAfterAnalysisCheckers(
|
||||
::FirIrSourceRangesIdenticalChecker,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-4
@@ -113,10 +113,6 @@ abstract class AbstractIrTextTest<FrontendOutput : ResultingArtifact.FrontendOut
|
||||
)
|
||||
}
|
||||
|
||||
useAfterAnalysisCheckers(
|
||||
::FirIrDumpIdenticalChecker,
|
||||
)
|
||||
|
||||
forTestsMatching("compiler/testData/ir/irText/properties/backingField/*") {
|
||||
defaultDirectives {
|
||||
LanguageSettingsDirectives.LANGUAGE with "+ExplicitBackingFields"
|
||||
|
||||
+1
-4
@@ -28,10 +28,7 @@ abstract class AbstractFirParcelizeDiagnosticTestBase(val parser: FirParser) : A
|
||||
|
||||
useConfigurators(::ParcelizeEnvironmentConfigurator)
|
||||
|
||||
useAfterAnalysisCheckers(
|
||||
::FirIdenticalChecker,
|
||||
::FirFailingTestSuppressor,
|
||||
)
|
||||
useAfterAnalysisCheckers(::FirFailingTestSuppressor)
|
||||
|
||||
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.TargetBackend
|
||||
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.ir.IrBackendInput
|
||||
import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
|
||||
@@ -82,7 +81,7 @@ abstract class AbstractParcelizeBoxTestBase<R : ResultingArtifact.FrontendOutput
|
||||
|
||||
useAdditionalServices(service<JvmBoxMainClassProvider>(::ParcelizeMainClassProvider))
|
||||
|
||||
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor, ::FirIrDumpIdenticalChecker)
|
||||
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor)
|
||||
|
||||
enableMetaInfoHandler()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user