diff --git a/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/Driver.kt b/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/Driver.kt index bc06b40c433..b4af45ec93f 100644 --- a/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/Driver.kt +++ b/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/Driver.kt @@ -54,7 +54,8 @@ class ToolDriver( } fun runDwarfDump(program: Path, vararg args:String = emptyArray(), processor:List.()->Unit) { - val out = subprocess(DistProperties.dwarfDump, "${program}.dSYM/Contents/Resources/DWARF/${program.fileName}", *args).takeIf { it.process.exitValue() == 0 }?.stdout ?: error("${program}.dSYM/Contents/Resources/DWARF/${program.fileName}") + val dwarfProcess = subprocess(DistProperties.dwarfDump, *args, "${program}.dSYM/Contents/Resources/DWARF/${program.fileName}") + val out = dwarfProcess.takeIf { it.process.exitValue() == 0 }?.stdout ?: error(dwarfProcess.stderr) DwarfUtilParser().parse(StringReader(out)).tags.toList().processor() } } diff --git a/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/DwarfDumpParser.kt b/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/DwarfDumpParser.kt index a1ba0061302..d9d89e30ec5 100644 --- a/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/DwarfDumpParser.kt +++ b/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/DwarfDumpParser.kt @@ -314,7 +314,7 @@ class DwarfUtilParser() { var currentAttribute: DwarfAttribute.Attribute? = null val currentAttributePayload = StringBuilder() companion object { - val tagRegexp = Regex("^(0x[0-9a-f]{8}):\\ {3}(.*)$") + val tagRegexp = Regex("^(0x[0-9a-f]{8}):\\ +([^\\ .]*)$") val attributeRegexp = Regex("^\\s+(DW_AT_[a-zA-Z0-9_]*)\\s+\\((.*)\\)$") } diff --git a/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/Matchers.kt b/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/Matchers.kt index 18ff0b3aa5a..31b66dc193b 100644 --- a/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/Matchers.kt +++ b/backend.native/tests/debugger/src/test/kotlin/org/jetbrains/kotlin/native/test/debugger/Matchers.kt @@ -130,6 +130,7 @@ class ToolDriverHelper(private val driver: ToolDriver, private val root:Path) { private fun Path.compile(output: Path, vararg flags:String) = output.also{ driver.compile(this, it, *flags) } fun Path.dwarfDumpLookup(address: Long, parser:List.() -> Unit) = driver.runDwarfDump(this, "-lookup", address.toString(), processor = parser) + fun Path.dwarfDumpLookup(name: String, parser:List.() -> Unit) = driver.runDwarfDump(this, "-find", name, processor = parser) private fun String.feedOutput(output: String) = root.resolve(output).also {