f624800b84
I was forced to manually do update the following files, because otherwise they would be ignored according .gitignore settings. Probably they should be deleted from repo. Interop/.idea/compiler.xml Interop/.idea/gradle.xml Interop/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_1_0_3.xml Interop/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_0_3.xml Interop/.idea/modules.xml Interop/.idea/modules/Indexer/Indexer.iml Interop/.idea/modules/Runtime/Runtime.iml Interop/.idea/modules/StubGenerator/StubGenerator.iml backend.native/backend.native.iml backend.native/bc.frontend/bc.frontend.iml backend.native/cli.bc/cli.bc.iml backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2NativeCompilerArguments.kt backend.native/tests/link/lib/foo.kt backend.native/tests/link/lib/foo2.kt backend.native/tests/teamcity-test.property
31 lines
735 B
Kotlin
31 lines
735 B
Kotlin
import kotlin.text.Regex
|
|
import kotlin.test.*
|
|
|
|
fun exception() {
|
|
error("FAIL!")
|
|
}
|
|
|
|
fun main() {
|
|
try {
|
|
exception()
|
|
}
|
|
catch (e:Exception) {
|
|
val stackTrace = e.getStackTrace()
|
|
stackTrace.take(6).forEach(::checkFrame)
|
|
}
|
|
}
|
|
internal val regex = Regex("^(\\d+)\\ +.*/(.*):(\\d+):.*$")
|
|
internal val goldValues = arrayOf<Pair<String, Int>?>(
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
"stack_trace_inline.kt" to 5,
|
|
"stack_trace_inline.kt" to 10)
|
|
internal fun checkFrame(value:String) {
|
|
val (pos, file, line) = regex.find(value)!!.destructured
|
|
goldValues[pos.toInt()]?.let{
|
|
assertEquals(it.first, file)
|
|
assertEquals(it.second, line.toInt())
|
|
}
|
|
} |