From 50f1ea79c508230d6aa0682a9206dce37248b99d Mon Sep 17 00:00:00 2001 From: Vladimir Sukharev Date: Wed, 13 Dec 2023 19:06:31 +0100 Subject: [PATCH] [Tests] Detect frontend type within FirIrDumpIdenticalChecker ^KT-64256 Fixed --- .../test/backend/handlers/FirIrDumpIdenticalCheckers.kt | 4 ++++ .../test/runners/codegen/AbstractFirBlackBoxCodegenTest.kt | 2 +- .../kotlin/test/runners/codegen/AbstractLocalVariableTest.kt | 2 +- .../kotlin/test/runners/codegen/AbstractSteppingTest.kt | 2 +- .../kotlin/test/runners/codegen/BaseCodegenConfiguration.kt | 5 ++--- 5 files changed, 9 insertions(+), 6 deletions(-) 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 96c270c644e..ded53555ef2 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 @@ -11,7 +11,9 @@ import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_IDENTICAL import org.jetbrains.kotlin.test.directives.model.DirectivesContainer import org.jetbrains.kotlin.test.model.AfterAnalysisChecker +import org.jetbrains.kotlin.test.model.FrontendKinds import org.jetbrains.kotlin.test.services.TestServices +import org.jetbrains.kotlin.test.services.defaultsProvider import org.jetbrains.kotlin.test.services.moduleStructure import org.jetbrains.kotlin.test.utils.FirIdenticalCheckerHelper import org.jetbrains.kotlin.test.utils.withExtension @@ -44,6 +46,8 @@ class FirIrDumpIdenticalChecker(testServices: TestServices) : AfterAnalysisCheck override fun check(failedAssertions: List) { if (failedAssertions.isNotEmpty()) return val testDataFile = testServices.moduleStructure.originalTestDataFiles.first() + if (testServices.defaultsProvider.defaultFrontend != FrontendKinds.FIR) + return if (DUMP_IR !in testServices.moduleStructure.allDirectives) return if (FIR_IDENTICAL in testServices.moduleStructure.allDirectives) { 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 7e924960397..4a24d72bcf0 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(isFir = true) + configureDumpHandlersForCodegenTest() baseFirBlackBoxCodegenTestDirectivesConfiguration() } 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 b1f33738c8f..3dbd8c816f9 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(isFir = true) + builder.configureDumpHandlersForCodegenTest() 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 a7eb04edcc2..44b14e6409d 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(isFir = true) + builder.configureDumpHandlersForCodegenTest() 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 c859cff4cfe..62696d5f63d 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,11 +105,10 @@ fun TestConfigurationBuilder.applyDumpSmapDirective() { } } -fun TestConfigurationBuilder.configureDumpHandlersForCodegenTest(isFir: Boolean = false) { +fun TestConfigurationBuilder.configureDumpHandlersForCodegenTest() { configureIrHandlersStep { dumpHandlersForConverterStep() - if (isFir) - useAfterAnalysisCheckers(::FirIrDumpIdenticalChecker) + useAfterAnalysisCheckers(::FirIrDumpIdenticalChecker) } configureJvmArtifactsHandlersStep { dumpHandlersForBackendStep()