[kotlin-native][tests] kt-42208 test added.

This commit is contained in:
Vasily Levchenko
2021-04-28 14:24:01 +02:00
committed by Space
parent a6a7da31c9
commit 3160fc84fa
2 changed files with 34 additions and 0 deletions
@@ -169,4 +169,34 @@ class LldbTests {
Breakpoint 1: where = [..]`kfun:#question(kotlin.String;kotlin.Array<kotlin.String>){}kotlin.String [..] at kt33055.kt:2:12, [..]
""".trimIndent().lldb(kt33055)
}
@Test
fun `kt42208`() = lldbComplexTest {
val kt42208One = """
fun main() {
foo()()
}
""".feedOutput("kt42208-1.kt")
val kt42208Two = """
// aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
inline fun foo() = {
throw Error()
}
""".feedOutput("kt42208-2.kt")
val binary = arrayOf(kt42208One, kt42208Two).binary("kt42208", "-g")
"""
> b ThrowException
> ${lldbCommandRunOrContinue()}
> bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
* frame #0: [..] kt42208.kexe`ThrowException
frame #1: [..] kt42208.kexe`kfun:main${'$'}<anonymous>_1#internal at kt42208-2.kt:3:18
frame #2: [..] kt42208.kexe`kfun:${'$'}main${'$'}<anonymous>_1${'$'}FUNCTION_REFERENCE${'$'}0.invoke#internal(_this=[..]) at kt42208-1.kt:2:5
frame #3: [..] kt42208.kexe`kfun:${'$'}main${'$'}<anonymous>_1${'$'}FUNCTION_REFERENCE${'$'}0.${'$'}<bridge-UNN>invoke(_this=[..]){}kotlin.Nothing#internal at kt42208-1.kt:2:5
frame #4: [..] kt42208.kexe`kfun:#main(){} at kt42208-1.kt:2:5
frame #5: [..] kt42208.kexe`Konan_start(args=[..]) at kt42208-1.kt:1:1
frame #6: [..]
frame #7: [..]
""".trimIndent().lldb(binary)
}
}
@@ -148,6 +148,10 @@ class ToolDriverHelper(private val driver: ToolDriver, val root:Path) {
driver.compile(it, this, "-produce", "framework", *args)
}
fun Array<Path>.binary(name:String, vararg args:String = emptyArray()):Path = root.resolve("$name.kexe").also {
driver.compile(it, this, *args)
}
fun swiftc(output: String, swiftSrc: Path, vararg args: String) = root.resolve(output).also {
driver.swiftc(it, swiftSrc, *args, "-Xlinker", "-rpath", "-Xlinker", "@executable_path")
}