Minor. Use more granular assertion levels in assertion tests

This commit is contained in:
Ilmir Usmanov
2018-08-06 17:11:32 +03:00
parent 1a1bb53381
commit b4189d9e85
18 changed files with 74 additions and 46 deletions
@@ -1,6 +1,8 @@
// FILE: inline.kt
// KOTLIN_CONFIGURATION_FLAGS: ASSERTIONS_MODE=jvm
// WITH_RUNTIME
// FULL_JDK
// IGNORE_BACKEND: JVM_IR
inline fun inlineMe() {
assert(false) { "FROM INLINED" }
@@ -9,7 +11,7 @@ inline fun inlineMe() {
// FILE: inlineSite.kt
// KOTLIN_CONFIGURATION_FLAGS: ASSERTIONS_MODE=jvm
class Checker {
class CheckerJvmAssertInlineFunctionAssertionsDisabled {
fun check() {
inlineMe()
assert(false) { "FROM INLINESITE" }
@@ -18,16 +20,16 @@ class Checker {
class Dummy
fun disableAssertions(): Checker {
fun disableAssertions(): CheckerJvmAssertInlineFunctionAssertionsDisabled {
val loader = Dummy::class.java.classLoader
loader.setDefaultAssertionStatus(false)
val c = loader.loadClass("Checker")
return c.newInstance() as Checker
loader.setClassAssertionStatus("CheckerJvmAssertInlineFunctionAssertionsDisabled", false)
loader.setClassAssertionStatus("InlineKt", false)
val c = loader.loadClass("CheckerJvmAssertInlineFunctionAssertionsDisabled")
return c.newInstance() as CheckerJvmAssertInlineFunctionAssertionsDisabled
}
fun box(): String {
var c = disableAssertions()
c.check()
return "OK"
}