From 4e2e05e68967ffd83f1a432f6426129142f1f422 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Wed, 17 Jun 2020 13:21:54 +0300 Subject: [PATCH] [FIR-TEST] Check control flow graph in old frontend diagnostic tests --- .../kotlin/fir/AbstractFirDiagnosticTest.kt | 12 ++++++++++-- .../fir/AbstractFirOldFrontendDiagnosticsTest.kt | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt index 7674d5e73ac..423ff0e5f53 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirDiagnosticTest.kt @@ -83,9 +83,17 @@ abstract class AbstractFirDiagnosticsTest : AbstractFirBaseDiagnosticsTest() { val allFirFiles = firFilesPerSession.values.flatten() checkDiagnostics(testDataFile, testFiles, allFirFiles) checkFir(testDataFile, allFirFiles) + checkCfg(allFirFiles, testFiles, testDataFile) + } + + protected fun checkCfg( + allFirFiles: List, + testFiles: List, + testDataFile: File + ) { checkCfgEdgeConsistency(allFirFiles) if (testFiles.any { it.withDumpCfgDirective }) { - checkCfg(testDataFile, allFirFiles) + checkCfgDump(testDataFile, allFirFiles) } else { checkCfgDumpNotExists(testDataFile) } @@ -263,7 +271,7 @@ abstract class AbstractFirDiagnosticsTest : AbstractFirBaseDiagnosticsTest() { return FirDiagnosticsCollector.create(session) } - private fun checkCfg(testDataFile: File, firFiles: List) { + private fun checkCfgDump(testDataFile: File, firFiles: List) { val builder = StringBuilder() firFiles.first().accept(FirControlFlowGraphRenderVisitor(builder), null) diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirOldFrontendDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirOldFrontendDiagnosticsTest.kt index 6062753eab8..1e75bfab9ac 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirOldFrontendDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/fir/AbstractFirOldFrontendDiagnosticsTest.kt @@ -53,6 +53,7 @@ abstract class AbstractFirOldFrontendDiagnosticsTest : AbstractFirDiagnosticsTes if (needDump) { checkFir(testDataFile, allFirFiles) } + checkCfg(allFirFiles, testFiles, testDataFile) } else { if (!failureFile.exists()) { throw failure