More tests for synchronized() {}

This commit is contained in:
Andrey Breslav
2014-07-03 18:39:57 +04:00
parent 90690e0711
commit 6422bafb7a
7 changed files with 96 additions and 2 deletions
@@ -1,12 +1,14 @@
fun box(): String {
val obj = "" as java.lang.Object
val e = IllegalArgumentException()
try {
synchronized (obj) {
throw Throwable()
throw e
}
}
catch (e: Throwable) {
catch (caught: Throwable) {
if (!(caught identityEquals e)) return "Fail: $caught"
// If monitorexit didn't happen (a finally block failed), this assertion would fail
assertThatThreadDoesNotOwnMonitor(obj)
}