diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/FirIrDumpIdenticalCheckers.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/FirIrDumpIdenticalCheckers.kt index f63add3999c..96c270c644e 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/FirIrDumpIdenticalCheckers.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/backend/handlers/FirIrDumpIdenticalCheckers.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.test.backend.handlers import org.jetbrains.kotlin.test.WrappedException +import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.DUMP_IR import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_IDENTICAL import org.jetbrains.kotlin.test.directives.model.DirectivesContainer @@ -43,6 +44,8 @@ class FirIrDumpIdenticalChecker(testServices: TestServices) : AfterAnalysisCheck override fun check(failedAssertions: List) { if (failedAssertions.isNotEmpty()) return val testDataFile = testServices.moduleStructure.originalTestDataFiles.first() + if (DUMP_IR !in testServices.moduleStructure.allDirectives) + return if (FIR_IDENTICAL in testServices.moduleStructure.allDirectives) { simpleDumpChecker.deleteFirFile(testDataFile) prettyDumpChecker.deleteFirFile(testDataFile) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractFirBlackBoxCodegenTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractFirBlackBoxCodegenTest.kt index 4a24d72bcf0..7e924960397 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractFirBlackBoxCodegenTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractFirBlackBoxCodegenTest.kt @@ -71,7 +71,7 @@ abstract class AbstractFirBlackBoxCodegenTestBase( ::FirMetaInfoDiffSuppressor ) - configureDumpHandlersForCodegenTest() + configureDumpHandlersForCodegenTest(isFir = true) baseFirBlackBoxCodegenTestDirectivesConfiguration() } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractFirScriptCodegenTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractFirScriptCodegenTest.kt index 29518055805..9194a4268b2 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractFirScriptCodegenTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractFirScriptCodegenTest.kt @@ -71,6 +71,9 @@ open class AbstractFirScriptCodegenTest : AbstractKotlinCompilerWithTargetBacken useHandlers( ::FirDiagnosticsHandler ) + useAfterAnalysisCheckers( + ::FirIrDumpIdenticalChecker, + ) commonFirHandlersForCodegenTest() } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractLocalVariableTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractLocalVariableTest.kt index 3dbd8c816f9..b1f33738c8f 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractLocalVariableTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractLocalVariableTest.kt @@ -85,7 +85,7 @@ open class AbstractFirLocalVariableTestBase(val parser: FirParser) : AbstractLoc override fun configure(builder: TestConfigurationBuilder) { super.configure(builder) - builder.configureDumpHandlersForCodegenTest() + builder.configureDumpHandlersForCodegenTest(isFir = true) builder.configureFirParser(parser) } } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractSteppingTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractSteppingTest.kt index 44b14e6409d..a7eb04edcc2 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractSteppingTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/AbstractSteppingTest.kt @@ -82,7 +82,7 @@ open class AbstractFirSteppingTestBase(val parser: FirParser) : AbstractStepping override fun configure(builder: TestConfigurationBuilder) { super.configure(builder) - builder.configureDumpHandlersForCodegenTest() + builder.configureDumpHandlersForCodegenTest(isFir = true) builder.configureFirParser(parser) } } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/BaseCodegenConfiguration.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/BaseCodegenConfiguration.kt index 183c4ceb395..c859cff4cfe 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/BaseCodegenConfiguration.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/codegen/BaseCodegenConfiguration.kt @@ -105,9 +105,11 @@ fun TestConfigurationBuilder.applyDumpSmapDirective() { } } -fun TestConfigurationBuilder.configureDumpHandlersForCodegenTest() { +fun TestConfigurationBuilder.configureDumpHandlersForCodegenTest(isFir: Boolean = false) { configureIrHandlersStep { dumpHandlersForConverterStep() + if (isFir) + useAfterAnalysisCheckers(::FirIrDumpIdenticalChecker) } configureJvmArtifactsHandlersStep { dumpHandlersForBackendStep() diff --git a/plugins/parcelize/parcelize-compiler/tests/org/jetbrains/kotlin/parcelize/test/runners/AbstractParcelizeBoxTest.kt b/plugins/parcelize/parcelize-compiler/tests/org/jetbrains/kotlin/parcelize/test/runners/AbstractParcelizeBoxTest.kt index 35bed2ae418..f5238dc7862 100644 --- a/plugins/parcelize/parcelize-compiler/tests/org/jetbrains/kotlin/parcelize/test/runners/AbstractParcelizeBoxTest.kt +++ b/plugins/parcelize/parcelize-compiler/tests/org/jetbrains/kotlin/parcelize/test/runners/AbstractParcelizeBoxTest.kt @@ -13,6 +13,7 @@ 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 @@ -81,7 +82,7 @@ abstract class AbstractParcelizeBoxTestBase(::ParcelizeMainClassProvider)) - useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor) + useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor, ::FirIrDumpIdenticalChecker) enableMetaInfoHandler() }