From 20d1a84002e2d35a15e4bed54c9196cc049eac0b Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 1 Jun 2021 18:10:01 +0200 Subject: [PATCH] FIR/FIR IDE: fix FirFailingTestSuppressor for IDE We need to have IdeTestIgnoreHandler executed after FirFailingTestSuppressor, otherwise IdeTestIgnoreHandler will suppress exceptions and FirFailingTestSuppressor will throw error saying that file .fir.fail exists but test passes --- .../test/frontend/fir/FirFailingTestSuppressor.kt | 4 +--- .../based/AbstractDiagnosisCompilerTestDataTest.kt | 12 +++++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/FirFailingTestSuppressor.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/FirFailingTestSuppressor.kt index a9568e8fea2..e9be7252693 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/FirFailingTestSuppressor.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/FirFailingTestSuppressor.kt @@ -19,9 +19,7 @@ class FirFailingTestSuppressor(testServices: TestServices) : AfterAnalysisChecke return when { failFile.exists() && exceptionFromFir != null -> emptyList() failFile.exists() && exceptionFromFir == null -> { - emptyList() - // TODO: revert it when `DiagnosisCompilerTestFE10TestdataTestGenerated` supports `*.fir.fail` files -// failedAssertions + AssertionError("Fail file exists but no exception was throw. Please remove ${failFile.name}").wrap() + failedAssertions + AssertionError("Fail file exists but no exception was throw. Please remove ${failFile.name}").wrap() } else -> failedAssertions } diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/AbstractDiagnosisCompilerTestDataTest.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/AbstractDiagnosisCompilerTestDataTest.kt index 61892c95973..2c02fb94f2f 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/AbstractDiagnosisCompilerTestDataTest.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/tests/org/jetbrains/kotlin/idea/fir/low/level/api/diagnostic/compiler/based/AbstractDiagnosisCompilerTestDataTest.kt @@ -13,8 +13,14 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.compiler.based.IdeTestIgnoreH abstract class AbstractDiagnosisCompilerTestDataTest : AbstractCompilerBasedTest() { override fun TestConfigurationBuilder.configureTest() { baseFirDiagnosticTestConfiguration() - useAfterAnalysisCheckers( - ::IdeTestIgnoreHandler - ) + /* IdeTestIgnoreHandler should be executed after FirFailingTestSuppressor, + otherwise IdeTestIgnoreHandler will suppress exceptions and FirFailingTestSuppressor will throw error + saying that file .fir.fail exists but test passes + */ + forTestsMatching("*") { + useAfterAnalysisCheckers( + ::IdeTestIgnoreHandler + ) + } } } \ No newline at end of file