[jvm] Fix test failed line inspection highlighting assume calls

GitOrigin-RevId: 01437ee95146aa0f0ce2a24cad3c92acc8311947
This commit is contained in:
Bart van Helvert
2022-09-30 12:42:03 +02:00
committed by intellij-monorepo-bot
parent 34b5c74de3
commit 73564917b9
3 changed files with 10 additions and 5 deletions

View File

@@ -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<PsiElement>? = null
) : TestFailedLineManager.TestInfo {
override fun getMagnitude(): Int = record.magnitude
override fun getErrorMessage(): String = record.errorMessage
override fun getTopStackTraceLine(): String = record.topStacktraceLine

View File

@@ -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
}
}

View File

@@ -17,6 +17,8 @@ public interface TestFailedLineManager {
LocalQuickFix getDebugQuickFix(PsiElement element, String topStackTraceLine);
interface TestInfo {
int getMagnitude();
String getErrorMessage();
String getTopStackTraceLine();