Fix stepping test's testData
This commit is contained in:
committed by
Nikolay Krasko
parent
f9f75f1155
commit
601a33f772
@@ -2,15 +2,19 @@ LineBreakpoint created at accessors.kt:10
|
||||
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !APP_PATH!\classes;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! accessors.AccessorsPackage
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
accessors.kt:10
|
||||
accessors.kt:15
|
||||
accessors.kt:17
|
||||
accessors.kt:18
|
||||
accessors.kt:15
|
||||
accessors.kt:11
|
||||
accessors.kt:15
|
||||
accessors.kt:22
|
||||
accessors.kt:15
|
||||
accessors.kt:11
|
||||
accessors.kt:12
|
||||
accessors.kt:15
|
||||
accessors.kt:25
|
||||
accessors.kt:7
|
||||
accessors.kt:26
|
||||
accessors.kt:15
|
||||
accessors.kt:13
|
||||
|
||||
@@ -2,7 +2,6 @@ LineBreakpoint created at onClassHeader.kt:6
|
||||
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !APP_PATH!\classes;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! onClassHeader.OnClassHeaderPackage
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
onClassHeader.kt:6
|
||||
onClassHeader.kt:18
|
||||
onClassHeader.kt:16
|
||||
Compile bytecode for 1 + 1
|
||||
Compile bytecode for this
|
||||
|
||||
@@ -6,8 +6,6 @@ onObjectHeader.kt:10
|
||||
onObjectHeader.kt:16
|
||||
onObjectHeader.kt:8
|
||||
onObjectHeader.kt:11
|
||||
onObjectHeader.kt:20
|
||||
onObjectHeader.kt:21
|
||||
onObjectHeader.kt:8
|
||||
Compile bytecode for 1 + 1
|
||||
Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
|
||||
@@ -2,10 +2,12 @@ LineBreakpoint created at syntheticMethods.kt:6
|
||||
!JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !APP_PATH!\classes;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! syntheticMethods.SyntheticMethodsPackage
|
||||
Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket'
|
||||
syntheticMethods.kt:6
|
||||
syntheticMethods.kt:17
|
||||
syntheticMethods.kt:19
|
||||
syntheticMethods.kt:20
|
||||
syntheticMethods.kt:17
|
||||
syntheticMethods.kt:7
|
||||
syntheticMethods.kt:34
|
||||
syntheticMethods.kt:0
|
||||
syntheticMethods.kt:7
|
||||
syntheticMethods.kt:25
|
||||
|
||||
@@ -19,7 +19,7 @@ class Derived: Base<String>() {
|
||||
}
|
||||
}
|
||||
|
||||
// STEP_INTO: 2
|
||||
// STEP_INTO: 1
|
||||
|
||||
// EXPRESSION: 1 + 1
|
||||
// RESULT: 2: I
|
||||
@@ -28,4 +28,6 @@ class Derived: Base<String>() {
|
||||
// RESULT: instance of onClassHeader.Derived(id=ID): LonClassHeader/Derived;
|
||||
|
||||
// EXPRESSION: this.foo("a")
|
||||
// RESULT: 2: I
|
||||
// RESULT: 2: I
|
||||
|
||||
// SKIP_SYNTHETIC_METHODS: false
|
||||
@@ -21,7 +21,9 @@ object A {
|
||||
}
|
||||
}
|
||||
|
||||
// STEP_INTO: 7
|
||||
// STEP_INTO: 5
|
||||
|
||||
// EXPRESSION: 1 + 1
|
||||
// RESULT: 2: I
|
||||
// RESULT: 2: I
|
||||
|
||||
// SKIP_SYNTHETIC_METHODS: false
|
||||
@@ -27,4 +27,5 @@ class A {
|
||||
}
|
||||
}
|
||||
|
||||
// STEP_INTO: 13
|
||||
// STEP_INTO: 17
|
||||
// SKIP_SYNTHETIC_METHODS: false
|
||||
@@ -44,4 +44,5 @@ class A {
|
||||
}
|
||||
}
|
||||
|
||||
// STEP_INTO: 24
|
||||
// STEP_INTO: 26
|
||||
// SKIP_SYNTHETIC_METHODS: false
|
||||
@@ -31,20 +31,6 @@ import kotlin.properties.Delegates
|
||||
import com.intellij.debugger.settings.DebuggerSettings
|
||||
|
||||
public abstract class AbstractKotlinSteppingTest : KotlinDebuggerTestBase() {
|
||||
private var oldSettings: DebuggerSettings by Delegates.notNull()
|
||||
private var oldIsFilterForStdlibAlreadyAdded: Boolean by Delegates.notNull()
|
||||
private var oldDisableKotlinInternalClasses: Boolean by Delegates.notNull()
|
||||
|
||||
override fun initApplication() {
|
||||
super.initApplication()
|
||||
saveDefaultSettings()
|
||||
}
|
||||
|
||||
override fun tearDown() {
|
||||
super.tearDown()
|
||||
restoreDefaultSettings()
|
||||
}
|
||||
|
||||
protected fun doStepIntoTest(path: String) {
|
||||
val fileText = FileUtil.loadFile(File(path))
|
||||
|
||||
@@ -66,37 +52,6 @@ public abstract class AbstractKotlinSteppingTest : KotlinDebuggerTestBase() {
|
||||
finish()
|
||||
}
|
||||
|
||||
private fun configureSettings(fileText: String) {
|
||||
val kotlinSettings = KotlinDebuggerSettings.getInstance()
|
||||
kotlinSettings.DEBUG_IS_FILTER_FOR_STDLIB_ALREADY_ADDED = false
|
||||
kotlinSettings.DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES = fileText.getValueForSetting("DISABLE_KOTLIN_INTERNAL_CLASSES", oldDisableKotlinInternalClasses)
|
||||
|
||||
val debuggerSettings = DebuggerSettings.getInstance()!!
|
||||
debuggerSettings.SKIP_CONSTRUCTORS = fileText.getValueForSetting("SKIP_CONSTRUCTORS", oldSettings.SKIP_CONSTRUCTORS)
|
||||
debuggerSettings.SKIP_CLASSLOADERS = fileText.getValueForSetting("SKIP_CLASSLOADERS", oldSettings.SKIP_CLASSLOADERS)
|
||||
debuggerSettings.TRACING_FILTERS_ENABLED = fileText.getValueForSetting("TRACING_FILTERS_ENABLED", oldSettings.TRACING_FILTERS_ENABLED)
|
||||
}
|
||||
|
||||
private fun String.getValueForSetting(name: String, defaultValue: Boolean): Boolean {
|
||||
return findStringWithPrefixes(this, "// $name: ")?.toBoolean() ?: defaultValue
|
||||
}
|
||||
|
||||
private fun saveDefaultSettings() {
|
||||
oldIsFilterForStdlibAlreadyAdded = KotlinDebuggerSettings.getInstance().DEBUG_IS_FILTER_FOR_STDLIB_ALREADY_ADDED
|
||||
oldDisableKotlinInternalClasses = KotlinDebuggerSettings.getInstance().DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES
|
||||
oldSettings = DebuggerSettings.getInstance()!!.clone()
|
||||
}
|
||||
|
||||
private fun restoreDefaultSettings() {
|
||||
KotlinDebuggerSettings.getInstance().DEBUG_IS_FILTER_FOR_STDLIB_ALREADY_ADDED = oldIsFilterForStdlibAlreadyAdded
|
||||
KotlinDebuggerSettings.getInstance().DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES = oldDisableKotlinInternalClasses
|
||||
|
||||
val debuggerSettings = DebuggerSettings.getInstance()!!
|
||||
debuggerSettings.SKIP_CONSTRUCTORS = oldSettings.SKIP_CONSTRUCTORS
|
||||
debuggerSettings.SKIP_CLASSLOADERS = oldSettings.SKIP_CLASSLOADERS
|
||||
debuggerSettings.TRACING_FILTERS_ENABLED = oldSettings.TRACING_FILTERS_ENABLED
|
||||
}
|
||||
|
||||
private fun SuspendContextImpl.smartStepInto() {
|
||||
this.smartStepInto(false)
|
||||
}
|
||||
|
||||
@@ -27,11 +27,60 @@ import org.jetbrains.kotlin.idea.JetJdkAndLibraryProjectDescriptor
|
||||
import com.intellij.openapi.roots.JdkOrderEntry
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.debugger.SourcePosition
|
||||
import com.intellij.debugger.settings.DebuggerSettings
|
||||
import kotlin.properties.Delegates
|
||||
import org.jetbrains.kotlin.test.InTextDirectivesUtils.findStringWithPrefixes
|
||||
import kotlin.properties.Delegates
|
||||
import com.intellij.debugger.engine.evaluation.EvaluationContextImpl
|
||||
import com.intellij.debugger.impl.DebuggerContextImpl
|
||||
|
||||
abstract class KotlinDebuggerTestBase : KotlinDebuggerTestCase() {
|
||||
private var oldSettings: DebuggerSettings by Delegates.notNull()
|
||||
private var oldIsFilterForStdlibAlreadyAdded: Boolean by Delegates.notNull()
|
||||
private var oldDisableKotlinInternalClasses: Boolean by Delegates.notNull()
|
||||
|
||||
override fun initApplication() {
|
||||
super.initApplication()
|
||||
saveDefaultSettings()
|
||||
}
|
||||
|
||||
override fun tearDown() {
|
||||
super.tearDown()
|
||||
restoreDefaultSettings()
|
||||
}
|
||||
|
||||
protected fun configureSettings(fileText: String) {
|
||||
val kotlinSettings = KotlinDebuggerSettings.getInstance()
|
||||
kotlinSettings.DEBUG_IS_FILTER_FOR_STDLIB_ALREADY_ADDED = false
|
||||
kotlinSettings.DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES = fileText.getValueForSetting("DISABLE_KOTLIN_INTERNAL_CLASSES", oldDisableKotlinInternalClasses)
|
||||
|
||||
val debuggerSettings = DebuggerSettings.getInstance()!!
|
||||
debuggerSettings.SKIP_SYNTHETIC_METHODS = fileText.getValueForSetting("SKIP_SYNTHETIC_METHODS", oldSettings.SKIP_SYNTHETIC_METHODS)
|
||||
debuggerSettings.SKIP_CONSTRUCTORS = fileText.getValueForSetting("SKIP_CONSTRUCTORS", oldSettings.SKIP_CONSTRUCTORS)
|
||||
debuggerSettings.SKIP_CLASSLOADERS = fileText.getValueForSetting("SKIP_CLASSLOADERS", oldSettings.SKIP_CLASSLOADERS)
|
||||
debuggerSettings.TRACING_FILTERS_ENABLED = fileText.getValueForSetting("TRACING_FILTERS_ENABLED", oldSettings.TRACING_FILTERS_ENABLED)
|
||||
}
|
||||
|
||||
private fun String.getValueForSetting(name: String, defaultValue: Boolean): Boolean {
|
||||
return findStringWithPrefixes(this, "// $name: ")?.toBoolean() ?: defaultValue
|
||||
}
|
||||
|
||||
private fun saveDefaultSettings() {
|
||||
oldIsFilterForStdlibAlreadyAdded = KotlinDebuggerSettings.getInstance().DEBUG_IS_FILTER_FOR_STDLIB_ALREADY_ADDED
|
||||
oldDisableKotlinInternalClasses = KotlinDebuggerSettings.getInstance().DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES
|
||||
oldSettings = DebuggerSettings.getInstance()!!.clone()
|
||||
}
|
||||
|
||||
private fun restoreDefaultSettings() {
|
||||
KotlinDebuggerSettings.getInstance().DEBUG_IS_FILTER_FOR_STDLIB_ALREADY_ADDED = oldIsFilterForStdlibAlreadyAdded
|
||||
KotlinDebuggerSettings.getInstance().DEBUG_DISABLE_KOTLIN_INTERNAL_CLASSES = oldDisableKotlinInternalClasses
|
||||
|
||||
val debuggerSettings = DebuggerSettings.getInstance()!!
|
||||
debuggerSettings.SKIP_SYNTHETIC_METHODS = oldSettings.SKIP_SYNTHETIC_METHODS
|
||||
debuggerSettings.SKIP_CONSTRUCTORS = oldSettings.SKIP_CONSTRUCTORS
|
||||
debuggerSettings.SKIP_CLASSLOADERS = oldSettings.SKIP_CLASSLOADERS
|
||||
debuggerSettings.TRACING_FILTERS_ENABLED = oldSettings.TRACING_FILTERS_ENABLED
|
||||
}
|
||||
|
||||
protected val dp: DebugProcessImpl
|
||||
get() = getDebugProcess() ?: throw AssertionError("createLocalProcess() should be called before getDebugProcess()")
|
||||
|
||||
+1
@@ -103,6 +103,7 @@ public abstract class AbstractKotlinEvaluateExpressionTest : KotlinDebuggerTestB
|
||||
val file = File(path)
|
||||
val fileText = FileUtil.loadFile(file, true)
|
||||
|
||||
configureSettings(fileText)
|
||||
createAdditionalBreakpoints(fileText)
|
||||
|
||||
val shouldPrintFrame = InTextDirectivesUtils.isDirectiveDefined(fileText, "// PRINT_FRAME")
|
||||
|
||||
Reference in New Issue
Block a user