Debugger tests: do not print line numbers in stdlib

This commit is contained in:
Natalia Ukhorskaya
2014-09-12 15:33:14 +04:00
parent 3eeed559b4
commit e16673f50a
14 changed files with 45 additions and 86 deletions
@@ -19,6 +19,11 @@ package org.jetbrains.jet.plugin.debugger
import com.intellij.debugger.engine.DebugProcessImpl
import com.intellij.debugger.engine.SuspendContextImpl
import com.intellij.debugger.engine.MethodFilter
import org.jetbrains.jet.plugin.refactoring.runReadAction
import com.intellij.debugger.impl.PositionUtil
import com.intellij.execution.process.ProcessOutputTypes
import com.intellij.openapi.roots.libraries.LibraryUtil
import org.jetbrains.jet.plugin.JetJdkAndLibraryProjectDescriptor
abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
@@ -41,7 +46,28 @@ abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
}
protected fun SuspendContextImpl.printContext() {
printContext(this)
runReadAction { (): Unit ->
if (this.getFrameProxy() == null) {
return@runReadAction println("Context thread is null", ProcessOutputTypes.SYSTEM)
}
val sourcePosition = PositionUtil.getSourcePosition(this)
if (sourcePosition == null) {
return@runReadAction println("SourcePosition is null", ProcessOutputTypes.SYSTEM)
}
val virtualFile = sourcePosition.getFile().getVirtualFile()
if (virtualFile == null) {
return@runReadAction println("VirtualFile for position is null", ProcessOutputTypes.SYSTEM)
}
val isInStdlib = LibraryUtil.findLibraryEntry(virtualFile, getProject())?.getPresentableName() == JetJdkAndLibraryProjectDescriptor.LIBRARY_NAME
if (isInStdlib) {
return@runReadAction println(virtualFile.getName(), ProcessOutputTypes.SYSTEM)
}
println(virtualFile.getName() + ":" + sourcePosition.getLine(), ProcessOutputTypes.SYSTEM)
}
}
protected fun finish() {
@@ -375,24 +375,6 @@ public class KotlinEvaluateExpressionTestGenerated extends AbstractKotlinEvaluat
doMultipleBreakpointsTest(fileName);
}
@TestMetadata("stdlibDelegatedProperty.kt")
public void testStdlibDelegatedProperty() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/debugger/tinyApp/src/evaluate/multipleBreakpoints/library/stdlibDelegatedProperty.kt");
doMultipleBreakpointsTest(fileName);
}
@TestMetadata("stdlibRange.kt")
public void testStdlibRange() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/debugger/tinyApp/src/evaluate/multipleBreakpoints/library/stdlibRange.kt");
doMultipleBreakpointsTest(fileName);
}
@TestMetadata("stdlibSlice.kt")
public void testStdlibSlice() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/debugger/tinyApp/src/evaluate/multipleBreakpoints/library/stdlibSlice.kt");
doMultipleBreakpointsTest(fileName);
}
}
}