From 73564917b9f76a5a6b6054da5fb0998fffd50790 Mon Sep 17 00:00:00 2001 From: Bart van Helvert Date: Fri, 30 Sep 2022 12:42:03 +0200 Subject: [PATCH] [jvm] Fix test failed line inspection highlighting assume calls GitOrigin-RevId: 01437ee95146aa0f0ce2a24cad3c92acc8311947 --- .../execution/codeInspection/TestFailedLineManagerImpl.kt | 8 +++----- .../codeInspection/test/TestFailedLineInspection.kt | 5 +++++ .../intellij/testIntegration/TestFailedLineManager.java | 2 ++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/java/execution/impl/src/com/intellij/execution/codeInspection/TestFailedLineManagerImpl.kt b/java/execution/impl/src/com/intellij/execution/codeInspection/TestFailedLineManagerImpl.kt index 607c5bc56f31..36de41fc540c 100644 --- a/java/execution/impl/src/com/intellij/execution/codeInspection/TestFailedLineManagerImpl.kt +++ b/java/execution/impl/src/com/intellij/execution/codeInspection/TestFailedLineManagerImpl.kt @@ -7,11 +7,7 @@ import com.intellij.codeInsight.intention.preview.IntentionPreviewInfo import com.intellij.codeInspection.LocalQuickFix import com.intellij.codeInspection.ProblemDescriptor import com.intellij.debugger.DebuggerManagerEx -import com.intellij.execution.ExecutionBundle -import com.intellij.execution.ExecutorRegistry -import com.intellij.execution.ProgramRunnerUtil -import com.intellij.execution.RunnerAndConfigurationSettings -import com.intellij.execution.TestStateStorage +import com.intellij.execution.* import com.intellij.execution.actions.ConfigurationContext import com.intellij.execution.executors.DefaultDebugExecutor import com.intellij.execution.executors.DefaultRunExecutor @@ -73,6 +69,8 @@ class TestFailedLineManagerImpl(project: Project) : TestFailedLineManager, FileE var record: TestStateStorage.Record, var pointer: SmartPsiElementPointer? = null ) : TestFailedLineManager.TestInfo { + override fun getMagnitude(): Int = record.magnitude + override fun getErrorMessage(): String = record.errorMessage override fun getTopStackTraceLine(): String = record.topStacktraceLine diff --git a/jvm/jvm-analysis-impl/src/com/intellij/codeInspection/test/TestFailedLineInspection.kt b/jvm/jvm-analysis-impl/src/com/intellij/codeInspection/test/TestFailedLineInspection.kt index ee021bfac99d..12b02df81af0 100644 --- a/jvm/jvm-analysis-impl/src/com/intellij/codeInspection/test/TestFailedLineInspection.kt +++ b/jvm/jvm-analysis-impl/src/com/intellij/codeInspection/test/TestFailedLineInspection.kt @@ -18,6 +18,7 @@ class TestFailedLineInspection : AbstractBaseUastLocalInspectionTool() { val sourceNode = node.sourcePsi ?: return true val testFailProvider = TestFailedLineManager.getInstance(holder.project) val testInfo = testFailProvider.getTestInfo(sourceNode) ?: return true + if (testInfo.magnitude < TEST_FAILED_MAGNITUDE) return true // don't highlight skipped tests val fixes = listOfNotNull( testFailProvider.getDebugQuickFix(sourceNode, testInfo.topStackTraceLine), testFailProvider.getRunQuickFix(sourceNode) @@ -30,4 +31,8 @@ class TestFailedLineInspection : AbstractBaseUastLocalInspectionTool() { return true } } + + companion object { + const val TEST_FAILED_MAGNITUDE = 6 // see TestStateInfo#Magnitude + } } \ No newline at end of file diff --git a/platform/analysis-api/src/com/intellij/testIntegration/TestFailedLineManager.java b/platform/analysis-api/src/com/intellij/testIntegration/TestFailedLineManager.java index f2b6664422ea..b30c94bcc931 100644 --- a/platform/analysis-api/src/com/intellij/testIntegration/TestFailedLineManager.java +++ b/platform/analysis-api/src/com/intellij/testIntegration/TestFailedLineManager.java @@ -17,6 +17,8 @@ public interface TestFailedLineManager { LocalQuickFix getDebugQuickFix(PsiElement element, String topStackTraceLine); interface TestInfo { + int getMagnitude(); + String getErrorMessage(); String getTopStackTraceLine();