[Testing] Support diagnostics filters in MultiModuleIdeResolveTest

This commit is contained in:
Dmitry Savvinov
2019-06-05 12:01:34 +03:00
parent 68c1a7cedd
commit 43ef0ffa50
2 changed files with 6 additions and 2 deletions
@@ -405,7 +405,7 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava<TestModule, Tes
val RENDER_DIAGNOSTICS_MESSAGES = "RENDER_DIAGNOSTICS_MESSAGES"
private fun parseDiagnosticFilterDirective(
fun parseDiagnosticFilterDirective(
directiveMap: Map<String, String>,
allowUnderscoreUsage: Boolean
): Condition<Diagnostic> {
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.idea.caches.resolve
import com.intellij.psi.PsiFile
import com.intellij.util.io.exists
import org.jetbrains.kotlin.checkers.BaseDiagnosticsTest
import org.jetbrains.kotlin.checkers.utils.CheckerTestUtil
import org.jetbrains.kotlin.descriptors.impl.ModuleDescriptorImpl
import org.jetbrains.kotlin.idea.multiplatform.setupMppProjectFromTextFile
@@ -60,6 +61,9 @@ abstract class AbstractMultiModuleIdeResolveTest : AbstractMultiModuleTest() {
val resolutionFacade = file.getResolutionFacade()
val (bindingContext, moduleDescriptor) = resolutionFacade.analyzeWithAllCompilerChecks(listOf(file))
val directives = KotlinTestUtils.parseDirectives(file.text)
val diagnosticsFilter = BaseDiagnosticsTest.parseDiagnosticFilterDirective(directives, allowUnderscoreUsage = false)
val actualDiagnostics = CheckerTestUtil.getDiagnosticsIncludingSyntaxErrors(
bindingContext,
file,
@@ -70,7 +74,7 @@ abstract class AbstractMultiModuleIdeResolveTest : AbstractMultiModuleTest() {
languageVersionSettings = resolutionFacade.frontendService(),
dataFlowValueFactory = resolutionFacade.frontendService(),
moduleDescriptor = moduleDescriptor as ModuleDescriptorImpl
)
).filter { diagnosticsFilter.value(it.diagnostic) }
val actualTextWithDiagnostics = CheckerTestUtil.addDiagnosticMarkersToText(
file,